@@ -484,8 +484,15 @@ impl RegisterBlockExt for Peripheral {
484
484
return Err ( anyhow ! ( "derive: incorrect syntax for {rname}" ) ) ;
485
485
} ;
486
486
487
- self . get_register ( rderive)
488
- . ok_or_else ( || anyhow ! ( "register {rderive} not found" ) ) ?;
487
+ self . get_register ( rderive) . ok_or_else ( || {
488
+ anyhow ! (
489
+ "register {rderive} not found. Present registers: {}.`" ,
490
+ self . registers( )
491
+ . map( |r| r. name. as_str( ) )
492
+ . collect:: <Vec <_>>( )
493
+ . join( ", " )
494
+ )
495
+ } ) ?;
489
496
490
497
match self . get_mut_register ( rname) {
491
498
Some ( register) => register. modify_from ( info, VAL_LVL ) ?,
@@ -956,8 +963,15 @@ impl RegisterBlockExt for Cluster {
956
963
return Err ( anyhow ! ( "derive: incorrect syntax for {rname}" ) ) ;
957
964
} ;
958
965
959
- self . get_register ( rderive)
960
- . ok_or_else ( || anyhow ! ( "register {rderive} not found" ) ) ?;
966
+ self . get_register ( rderive) . ok_or_else ( || {
967
+ anyhow ! (
968
+ "register {rderive} not found. Present registers: {}.`" ,
969
+ self . registers( )
970
+ . map( |r| r. name. as_str( ) )
971
+ . collect:: <Vec <_>>( )
972
+ . join( ", " )
973
+ )
974
+ } ) ?;
961
975
962
976
match self . get_mut_register ( rname) {
963
977
Some ( register) => register. modify_from ( info, VAL_LVL ) ?,
@@ -1158,7 +1172,16 @@ fn collect_in_array(
1158
1172
}
1159
1173
}
1160
1174
if registers. is_empty ( ) {
1161
- return Err ( anyhow ! ( "{path}: registers {rspec} not found" ) ) ;
1175
+ return Err ( anyhow ! (
1176
+ "{path}: registers {rspec} not found. Present registers: {}.`" ,
1177
+ regs. iter( )
1178
+ . filter_map( |rc| match rc {
1179
+ RegisterCluster :: Register ( r) => Some ( r. name. as_str( ) ) ,
1180
+ _ => None ,
1181
+ } )
1182
+ . collect:: <Vec <_>>( )
1183
+ . join( ", " )
1184
+ ) ) ;
1162
1185
}
1163
1186
registers. sort_by_key ( |r| r. address_offset ) ;
1164
1187
let Some ( ( li, ri) ) = spec_ind ( rspec) else {
@@ -1255,7 +1278,16 @@ fn collect_in_cluster(
1255
1278
}
1256
1279
}
1257
1280
if registers. is_empty ( ) {
1258
- return Err ( anyhow ! ( "{path}: registers {rspec} not found" ) ) ;
1281
+ return Err ( anyhow ! (
1282
+ "{path}: registers {rspec} not found. Present registers: {}.`" ,
1283
+ regs. iter( )
1284
+ . filter_map( |rc| match rc {
1285
+ RegisterCluster :: Register ( r) => Some ( r. name. as_str( ) ) ,
1286
+ _ => None ,
1287
+ } )
1288
+ . collect:: <Vec <_>>( )
1289
+ . join( ", " )
1290
+ ) ) ;
1259
1291
}
1260
1292
if single {
1261
1293
if registers. len ( ) > 1 {
0 commit comments