@@ -318,7 +318,7 @@ pub fn fields(
318318 let can_write = can_write && ( f. access != Some ( Access :: ReadOnly ) ) ;
319319
320320 let mask = u64:: MAX >> ( 64 - width) ;
321- let hexmask = & util:: hex ( mask) ;
321+ let hexmask = & util:: digit_or_hex ( mask) ;
322322 let offset = u64:: from ( offset) ;
323323 let rv = properties. reset_value . map ( |rv| ( rv >> offset) & mask) ;
324324 let fty = width. to_ty ( ) ?;
@@ -348,7 +348,7 @@ pub fn fields(
348348
349349 let field_dim = match f {
350350 Field :: Array ( _, de) => {
351- let ( first, index ) = if let Some ( dim_index) = & de. dim_index {
351+ let first = if let Some ( dim_index) = & de. dim_index {
352352 if let Ok ( first) = dim_index[ 0 ] . parse :: < u32 > ( ) {
353353 let sequential_indexes = dim_index
354354 . iter ( )
@@ -357,17 +357,14 @@ pub fn fields(
357357 if !sequential_indexes {
358358 return Err ( anyhow ! ( "unsupported array indexes in {}" , f. name) ) ;
359359 }
360- ( first, None )
360+ first
361361 } else {
362- ( 0 , de . dim_index . clone ( ) )
362+ 0
363363 }
364364 } else {
365- ( 0 , None )
366- } ;
367- let suffixes: Vec < _ > = match index {
368- Some ( ix) => ix,
369- None => ( 0 ..de. dim ) . map ( |i| ( first + i) . to_string ( ) ) . collect ( ) ,
365+ 0
370366 } ;
367+ let suffixes: Vec < _ > = de. indexes ( ) . collect ( ) ;
371368 let suffixes_str = format ! ( "({}-{})" , first, first + de. dim - 1 ) ;
372369 Some ( ( first, de. dim , de. dim_increment , suffixes, suffixes_str) )
373370 }
0 commit comments