@@ -1271,6 +1271,30 @@ macro_rules! make_bitfield_serde {(
1271
1271
) *
1272
1272
}
1273
1273
}
1274
+
1275
+ /// Use this for serialization in order to make serde skip those fields
1276
+ /// where the meaning of a raw value is unknown to us.
1277
+ ///
1278
+ /// Caller can then override Serializer::skip_field and thus find out
1279
+ /// which fields were skipped, inferring where errors were.
1280
+ #[ cfg( feature = "serde" ) ]
1281
+ paste:: paste!{
1282
+ #[ doc( hidden) ]
1283
+ #[ allow( non_camel_case_types) ]
1284
+ #[ cfg_attr( feature = "serde" , derive( Serialize ) ) ]
1285
+ //#[cfg_attr(feature = "schemars", derive(schemars::JsonSchema))]
1286
+ #[ cfg_attr( feature = "serde" , serde( rename = "" $StructName) ) ]
1287
+ //#[cfg_attr(feature = "serde", serde(deny_unknown_fields))]
1288
+ pub ( crate ) struct [ <SerdePermissiveSerializing $StructName>] {
1289
+ $(
1290
+ $( #[ serde( skip_serializing_if="Option::is_none" ) ]
1291
+ pub $field_name: Option <$field_ty>, ) ?
1292
+ $( #[ serde( skip_serializing_if="Option::is_none" ) ]
1293
+ $( #[ $serde_field_orig_meta] ) *
1294
+ pub $field_name: Option <$serde_ty>, ) ?
1295
+ ) *
1296
+ }
1297
+ }
1274
1298
} }
1275
1299
1276
1300
make_bitfield_serde ! {
@@ -2657,21 +2681,11 @@ pub mod memory {
2657
2681
#[ repr( u32 ) ]
2658
2682
#[ derive( Clone , Copy ) ]
2659
2683
pub struct RdimmDdr4Voltages {
2660
- pub _1_2V || #[ serde( default ) ] bool : bool | pub get bool : pub set bool ,
2684
+ pub _1_2V || #[ serde( default ) ] # [ serde ( rename = "1.2 V" ) ] bool : bool | pub get bool : pub set bool ,
2661
2685
pub _reserved_1 || #[ serde( default ) ] SerdeHex32 : B31 ,
2662
2686
// all = 7
2663
2687
}
2664
2688
}
2665
- #[ cfg_attr( feature = "serde" , derive( serde:: Serialize , serde:: Deserialize ) ) ]
2666
- #[ cfg_attr( feature = "serde" , serde( deny_unknown_fields) ) ]
2667
- #[ cfg_attr( feature = "schemars" , derive( schemars:: JsonSchema ) ) ]
2668
- #[ cfg_attr( feature = "serde" , serde( rename = "RdimmDdr4Voltages" ) ) ]
2669
- pub struct CustomSerdeRdimmDdr4Voltages {
2670
- #[ cfg_attr( feature = "serde" , serde( rename = "1.2 V" ) ) ]
2671
- pub _1_2V : bool ,
2672
- #[ cfg_attr( feature = "serde" , serde( default ) ) ]
2673
- pub _reserved_1 : u32 ,
2674
- }
2675
2689
macro_rules! define_compat_bitfield_field {
2676
2690
( $compat_field: ident, $current_field: ident) => {
2677
2691
paste! {
@@ -2820,27 +2834,13 @@ pub mod memory {
2820
2834
#[ repr( u32 ) ]
2821
2835
#[ derive( Clone , Copy ) ]
2822
2836
pub struct UdimmDdr4Voltages {
2823
- pub _1_5V || #[ serde( default ) ] bool : bool | pub get bool : pub set bool ,
2824
- pub _1_35V || #[ serde( default ) ] bool : bool | pub get bool : pub set bool ,
2825
- pub _1_25V || #[ serde( default ) ] bool : bool | pub get bool : pub set bool ,
2837
+ pub _1_5V || #[ serde( default ) ] # [ serde ( rename = "1.5 V" ) ] bool : bool | pub get bool : pub set bool ,
2838
+ pub _1_35V || #[ serde( default ) ] # [ serde ( rename = "1.35 V" ) ] bool : bool | pub get bool : pub set bool ,
2839
+ pub _1_25V || #[ serde( default ) ] # [ serde ( rename = "1.25 V" ) ] bool : bool | pub get bool : pub set bool ,
2826
2840
// all = 7
2827
2841
pub _reserved_1 || #[ serde( default ) ] SerdeHex32 : B29 ,
2828
2842
}
2829
2843
}
2830
- #[ cfg_attr( feature = "serde" , derive( serde:: Serialize , serde:: Deserialize ) ) ]
2831
- #[ cfg_attr( feature = "serde" , serde( deny_unknown_fields) ) ]
2832
- #[ cfg_attr( feature = "schemars" , derive( schemars:: JsonSchema ) ) ]
2833
- #[ cfg_attr( feature = "serde" , serde( rename = "UdimmDdr4Voltages" ) ) ]
2834
- pub struct CustomSerdeUdimmDdr4Voltages {
2835
- #[ cfg_attr( feature = "serde" , serde( rename = "1.5 V" ) ) ]
2836
- pub _1_5V : bool ,
2837
- #[ cfg_attr( feature = "serde" , serde( rename = "1.35 V" ) ) ]
2838
- pub _1_35V : bool ,
2839
- #[ cfg_attr( feature = "serde" , serde( rename = "1.25 V" ) ) ]
2840
- pub _1_25V : bool ,
2841
- #[ cfg_attr( feature = "serde" , serde( default ) ) ]
2842
- pub _reserved_1 : u32 ,
2843
- }
2844
2844
impl UdimmDdr4Voltages {
2845
2845
define_compat_bitfield_field ! ( v_1_5, _1_5V) ;
2846
2846
define_compat_bitfield_field ! ( v_1_35, _1_35V) ;
@@ -2915,21 +2915,11 @@ pub mod memory {
2915
2915
#[ repr( u32 ) ]
2916
2916
#[ derive( Clone , Copy ) ]
2917
2917
pub struct LrdimmDdr4Voltages {
2918
- pub _1_2V || #[ serde( default ) ] bool : bool | pub get bool : pub set bool ,
2918
+ pub _1_2V || #[ serde( default ) ] # [ serde ( rename = "1.2 V" ) ] bool : bool | pub get bool : pub set bool ,
2919
2919
// all = 7
2920
2920
pub _reserved_1 || #[ serde( default ) ] SerdeHex32 : B31 ,
2921
2921
}
2922
2922
}
2923
- #[ cfg_attr( feature = "serde" , derive( serde:: Serialize , serde:: Deserialize ) ) ]
2924
- #[ cfg_attr( feature = "serde" , serde( deny_unknown_fields) ) ]
2925
- #[ cfg_attr( feature = "schemars" , derive( schemars:: JsonSchema ) ) ]
2926
- #[ cfg_attr( feature = "serde" , serde( rename = "LrdimmDdr4Voltages" ) ) ]
2927
- pub struct CustomSerdeLrdimmDdr4Voltages {
2928
- #[ cfg_attr( feature = "serde" , serde( rename = "1.2 V" ) ) ]
2929
- pub _1_2V : bool ,
2930
- #[ cfg_attr( feature = "serde" , serde( default ) ) ]
2931
- pub _reserved_1 : u32 ,
2932
- }
2933
2923
2934
2924
impl LrdimmDdr4Voltages {
2935
2925
define_compat_bitfield_field ! ( v_1_2, _1_2V) ;
@@ -3843,7 +3833,7 @@ pub mod memory {
3843
3833
}
3844
3834
}
3845
3835
#[ cfg( feature = "serde" ) ]
3846
- #[ cfg_attr( feature = "serde" , derive( Serialize , Deserialize ) ) ]
3836
+ #[ cfg_attr( feature = "serde" , derive( Deserialize ) ) ]
3847
3837
#[ cfg_attr( feature = "serde" , serde( deny_unknown_fields) ) ]
3848
3838
#[ cfg_attr( feature = "schemars" , derive( schemars:: JsonSchema ) ) ]
3849
3839
#[ cfg_attr( feature = "serde" , serde( rename = "ErrorOutControlBeepCode" ) ) ]
@@ -3853,6 +3843,14 @@ pub mod memory {
3853
3843
pub peak_attr : ErrorOutControlBeepCodePeakAttr ,
3854
3844
}
3855
3845
#[ cfg( feature = "serde" ) ]
3846
+ #[ cfg_attr( feature = "serde" , derive( Serialize ) ) ]
3847
+ #[ cfg_attr( feature = "serde" , serde( rename = "ErrorOutControlBeepCode" ) ) ]
3848
+ pub ( crate ) struct CustomSerdePermissiveSerializingErrorOutControlBeepCode {
3849
+ pub custom_error_type : Option < ErrorOutControlBeepCodeErrorType > ,
3850
+ pub peak_map : Option < SerdeHex16 > ,
3851
+ pub peak_attr : Option < ErrorOutControlBeepCodePeakAttr > ,
3852
+ }
3853
+ #[ cfg( feature = "serde" ) ]
3856
3854
impl ErrorOutControlBeepCode {
3857
3855
pub ( crate ) fn serde_custom_error_type (
3858
3856
& self ,
@@ -4330,7 +4328,7 @@ Clone)]
4330
4328
}
4331
4329
4332
4330
#[ cfg( feature = "serde" ) ]
4333
- #[ cfg_attr( feature = "serde" , derive( Serialize , Deserialize ) ) ]
4331
+ #[ cfg_attr( feature = "serde" , derive( Deserialize ) ) ]
4334
4332
#[ cfg_attr( feature = "serde" , serde( deny_unknown_fields) ) ]
4335
4333
#[ cfg_attr( feature = "schemars" , derive( schemars:: JsonSchema ) ) ]
4336
4334
#[ cfg_attr(
@@ -4341,6 +4339,15 @@ Clone)]
4341
4339
pub raw_body : DdrPostPackageRepairBody ,
4342
4340
}
4343
4341
#[ cfg( feature = "serde" ) ]
4342
+ #[ cfg_attr( feature = "serde" , derive( Serialize ) ) ]
4343
+ #[ cfg_attr(
4344
+ feature = "serde" ,
4345
+ serde( rename = "DdrPostPackageRepairElement" )
4346
+ ) ]
4347
+ pub struct CustomSerdePermissiveSerializingDdrPostPackageRepairElement {
4348
+ pub raw_body : Option < DdrPostPackageRepairBody > ,
4349
+ }
4350
+ #[ cfg( feature = "serde" ) ]
4344
4351
impl DdrPostPackageRepairElement {
4345
4352
pub ( crate ) fn serde_raw_body (
4346
4353
& self ,
0 commit comments