@@ -318,7 +318,7 @@ pub fn fields(
318
318
let can_write = can_write && ( f. access != Some ( Access :: ReadOnly ) ) ;
319
319
320
320
let mask = u64:: MAX >> ( 64 - width) ;
321
- let hexmask = & util:: hex ( mask) ;
321
+ let hexmask = & util:: digit_or_hex ( mask) ;
322
322
let offset = u64:: from ( offset) ;
323
323
let rv = properties. reset_value . map ( |rv| ( rv >> offset) & mask) ;
324
324
let fty = width. to_ty ( ) ?;
@@ -348,7 +348,7 @@ pub fn fields(
348
348
349
349
let field_dim = match f {
350
350
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 {
352
352
if let Ok ( first) = dim_index[ 0 ] . parse :: < u32 > ( ) {
353
353
let sequential_indexes = dim_index
354
354
. iter ( )
@@ -357,17 +357,14 @@ pub fn fields(
357
357
if !sequential_indexes {
358
358
return Err ( anyhow ! ( "unsupported array indexes in {}" , f. name) ) ;
359
359
}
360
- ( first, None )
360
+ first
361
361
} else {
362
- ( 0 , de . dim_index . clone ( ) )
362
+ 0
363
363
}
364
364
} 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
370
366
} ;
367
+ let suffixes: Vec < _ > = de. indexes ( ) . collect ( ) ;
371
368
let suffixes_str = format ! ( "({}-{})" , first, first + de. dim - 1 ) ;
372
369
Some ( ( first, de. dim , de. dim_increment , suffixes, suffixes_str) )
373
370
}
0 commit comments