diff --git a/pdl-compiler/src/backends/rust/mod.rs b/pdl-compiler/src/backends/rust/mod.rs index 922236d..3711d2a 100644 --- a/pdl-compiler/src/backends/rust/mod.rs +++ b/pdl-compiler/src/backends/rust/mod.rs @@ -509,10 +509,11 @@ fn generate_root_packet_decl( let child_struct = (!children_decl.is_empty()).then(|| { let children_ids = children_decl.iter().map(|decl| decl.id().unwrap().to_ident()); quote! { - #[derive(Debug, Clone, PartialEq, Eq)] + #[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub enum #child_name { #( #children_ids(#children_ids), )* + #[default] None, } } @@ -525,7 +526,7 @@ fn generate_root_packet_decl( .then(|| generate_specialize_impl(scope, schema, decl, id, &data_fields).unwrap()); quote! { - #[derive(Debug, Clone, PartialEq, Eq)] + #[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct #name { #( pub #data_field_ids: #data_field_types, )* @@ -849,10 +850,11 @@ fn generate_derived_packet_decl( let child_struct = (!children_decl.is_empty()).then(|| { let children_ids = children_decl.iter().map(|decl| decl.id().unwrap().to_ident()); quote! { - #[derive(Debug, Clone, PartialEq, Eq)] + #[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub enum #child_name { #( #children_ids(#children_ids), )* + #[default] None, } } @@ -865,7 +867,7 @@ fn generate_derived_packet_decl( .then(|| generate_specialize_impl(scope, schema, decl, id, &data_fields).unwrap()); quote! { - #[derive(Debug, Clone, PartialEq, Eq)] + #[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct #name { #( pub #data_field_ids: #data_field_types, )* @@ -1078,10 +1080,12 @@ fn generate_enum_decl(id: &str, tags: &[ast::Tag], width: usize) -> proc_macro2: quote! { #repr_u64 - #[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] + #[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = #backing_type_str, into = #backing_type_str))] pub enum #name { + // No specific value => use the first one as default + #[default] #(#variants,)* } @@ -1185,7 +1189,7 @@ fn generate_custom_field_decl( if backing_type.width == width { quote! { - #[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] + #[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(from = #backing_type_str, into = #backing_type_str))] pub struct #id(#backing_type); @@ -1201,7 +1205,7 @@ fn generate_custom_field_decl( } else { let max_value = mask_bits(width, &format!("u{}", backing_type.width)); quote! { - #[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] + #[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = #backing_type_str, into = #backing_type_str))] pub struct #id(#backing_type); diff --git a/pdl-compiler/tests/generated/rust/custom_field_declaration_big_endian.rs b/pdl-compiler/tests/generated/rust/custom_field_declaration_big_endian.rs index e5e9d5b..9506e93 100644 --- a/pdl-compiler/tests/generated/rust/custom_field_declaration_big_endian.rs +++ b/pdl-compiler/tests/generated/rust/custom_field_declaration_big_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(from = "u32", into = "u32"))] pub struct ExactSize(u32); @@ -61,7 +61,7 @@ impl From for ExactSize { ExactSize(value) } } -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u32", into = "u32"))] pub struct TruncatedSize(u32); diff --git a/pdl-compiler/tests/generated/rust/custom_field_declaration_little_endian.rs b/pdl-compiler/tests/generated/rust/custom_field_declaration_little_endian.rs index bc1874c..3fbe08d 100644 --- a/pdl-compiler/tests/generated/rust/custom_field_declaration_little_endian.rs +++ b/pdl-compiler/tests/generated/rust/custom_field_declaration_little_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(from = "u32", into = "u32"))] pub struct ExactSize(u32); @@ -61,7 +61,7 @@ impl From for ExactSize { ExactSize(value) } } -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u32", into = "u32"))] pub struct TruncatedSize(u32); diff --git a/pdl-compiler/tests/generated/rust/enum_declaration_big_endian.rs b/pdl-compiler/tests/generated/rust/enum_declaration_big_endian.rs index dcff08e..fd49e18 100644 --- a/pdl-compiler/tests/generated/rust/enum_declaration_big_endian.rs +++ b/pdl-compiler/tests/generated/rust/enum_declaration_big_endian.rs @@ -24,10 +24,11 @@ impl std::fmt::Debug for Private { } } #[repr(u64)] -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u8", into = "u8"))] pub enum IncompleteTruncatedClosed { + #[default] A = 0x0, B = 0x1, } @@ -89,10 +90,11 @@ impl From for u64 { u8::from(value) as Self } } -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u8", into = "u8"))] pub enum IncompleteTruncatedOpen { + #[default] A, B, Unknown(Private), @@ -157,10 +159,11 @@ impl From for u64 { u8::from(value) as Self } } -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u8", into = "u8"))] pub enum IncompleteTruncatedClosedWithRange { + #[default] A, X, Y, @@ -228,10 +231,11 @@ impl From for u64 { u8::from(value) as Self } } -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u8", into = "u8"))] pub enum IncompleteTruncatedOpenWithRange { + #[default] A, X, Y, @@ -303,10 +307,11 @@ impl From for u64 { } } #[repr(u64)] -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u8", into = "u8"))] pub enum CompleteTruncated { + #[default] A = 0x0, B = 0x1, C = 0x2, @@ -386,10 +391,11 @@ impl From for u64 { u8::from(value) as Self } } -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u8", into = "u8"))] pub enum CompleteTruncatedWithRange { + #[default] A, X, Y, @@ -457,10 +463,11 @@ impl From for u64 { u8::from(value) as Self } } -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u8", into = "u8"))] pub enum CompleteWithRange { + #[default] A, B, C(Private), diff --git a/pdl-compiler/tests/generated/rust/enum_declaration_little_endian.rs b/pdl-compiler/tests/generated/rust/enum_declaration_little_endian.rs index dcff08e..fd49e18 100644 --- a/pdl-compiler/tests/generated/rust/enum_declaration_little_endian.rs +++ b/pdl-compiler/tests/generated/rust/enum_declaration_little_endian.rs @@ -24,10 +24,11 @@ impl std::fmt::Debug for Private { } } #[repr(u64)] -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u8", into = "u8"))] pub enum IncompleteTruncatedClosed { + #[default] A = 0x0, B = 0x1, } @@ -89,10 +90,11 @@ impl From for u64 { u8::from(value) as Self } } -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u8", into = "u8"))] pub enum IncompleteTruncatedOpen { + #[default] A, B, Unknown(Private), @@ -157,10 +159,11 @@ impl From for u64 { u8::from(value) as Self } } -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u8", into = "u8"))] pub enum IncompleteTruncatedClosedWithRange { + #[default] A, X, Y, @@ -228,10 +231,11 @@ impl From for u64 { u8::from(value) as Self } } -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u8", into = "u8"))] pub enum IncompleteTruncatedOpenWithRange { + #[default] A, X, Y, @@ -303,10 +307,11 @@ impl From for u64 { } } #[repr(u64)] -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u8", into = "u8"))] pub enum CompleteTruncated { + #[default] A = 0x0, B = 0x1, C = 0x2, @@ -386,10 +391,11 @@ impl From for u64 { u8::from(value) as Self } } -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u8", into = "u8"))] pub enum CompleteTruncatedWithRange { + #[default] A, X, Y, @@ -457,10 +463,11 @@ impl From for u64 { u8::from(value) as Self } } -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u8", into = "u8"))] pub enum CompleteWithRange { + #[default] A, B, C(Private), diff --git a/pdl-compiler/tests/generated/rust/packet_decl_24bit_enum_array_big_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_24bit_enum_array_big_endian.rs index 7e4f43d..adbf773 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_24bit_enum_array_big_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_24bit_enum_array_big_endian.rs @@ -24,10 +24,11 @@ impl std::fmt::Debug for Private { } } #[repr(u64)] -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u32", into = "u32"))] pub enum Foo { + #[default] FooBar = 0x1, Baz = 0x2, } @@ -69,7 +70,7 @@ impl From for u64 { u32::from(value) as Self } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Bar { pub x: [Foo; 5], diff --git a/pdl-compiler/tests/generated/rust/packet_decl_24bit_enum_array_little_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_24bit_enum_array_little_endian.rs index f3248a0..28b2627 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_24bit_enum_array_little_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_24bit_enum_array_little_endian.rs @@ -24,10 +24,11 @@ impl std::fmt::Debug for Private { } } #[repr(u64)] -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u32", into = "u32"))] pub enum Foo { + #[default] FooBar = 0x1, Baz = 0x2, } @@ -69,7 +70,7 @@ impl From for u64 { u32::from(value) as Self } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Bar { pub x: [Foo; 5], diff --git a/pdl-compiler/tests/generated/rust/packet_decl_24bit_enum_big_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_24bit_enum_big_endian.rs index ed6b119..40151c3 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_24bit_enum_big_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_24bit_enum_big_endian.rs @@ -24,10 +24,11 @@ impl std::fmt::Debug for Private { } } #[repr(u64)] -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u32", into = "u32"))] pub enum Foo { + #[default] A = 0x1, B = 0x2, } @@ -69,7 +70,7 @@ impl From for u64 { u32::from(value) as Self } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Bar { pub x: Foo, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_24bit_enum_little_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_24bit_enum_little_endian.rs index d31578c..4dd43b9 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_24bit_enum_little_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_24bit_enum_little_endian.rs @@ -24,10 +24,11 @@ impl std::fmt::Debug for Private { } } #[repr(u64)] -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u32", into = "u32"))] pub enum Foo { + #[default] A = 0x1, B = 0x2, } @@ -69,7 +70,7 @@ impl From for u64 { u32::from(value) as Self } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Bar { pub x: Foo, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_24bit_scalar_array_big_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_24bit_scalar_array_big_endian.rs index 807f37c..4c6275c 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_24bit_scalar_array_big_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_24bit_scalar_array_big_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub x: [u32; 5], diff --git a/pdl-compiler/tests/generated/rust/packet_decl_24bit_scalar_array_little_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_24bit_scalar_array_little_endian.rs index 315f7d5..bc95f45 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_24bit_scalar_array_little_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_24bit_scalar_array_little_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub x: [u32; 5], diff --git a/pdl-compiler/tests/generated/rust/packet_decl_24bit_scalar_big_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_24bit_scalar_big_endian.rs index d00b083..5897bd1 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_24bit_scalar_big_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_24bit_scalar_big_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub x: u32, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_24bit_scalar_little_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_24bit_scalar_little_endian.rs index 1959bab..ad4c41a 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_24bit_scalar_little_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_24bit_scalar_little_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub x: u32, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_64bit_enum_array_big_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_64bit_enum_array_big_endian.rs index b8dce48..fb18faf 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_64bit_enum_array_big_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_64bit_enum_array_big_endian.rs @@ -24,10 +24,11 @@ impl std::fmt::Debug for Private { } } #[repr(u64)] -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u64", into = "u64"))] pub enum Foo { + #[default] FooBar = 0x1, Baz = 0x2, } @@ -54,7 +55,7 @@ impl From for u64 { (&value).into() } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Bar { pub x: [Foo; 7], diff --git a/pdl-compiler/tests/generated/rust/packet_decl_64bit_enum_array_little_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_64bit_enum_array_little_endian.rs index 23387af..9165f82 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_64bit_enum_array_little_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_64bit_enum_array_little_endian.rs @@ -24,10 +24,11 @@ impl std::fmt::Debug for Private { } } #[repr(u64)] -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u64", into = "u64"))] pub enum Foo { + #[default] FooBar = 0x1, Baz = 0x2, } @@ -54,7 +55,7 @@ impl From for u64 { (&value).into() } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Bar { pub x: [Foo; 7], diff --git a/pdl-compiler/tests/generated/rust/packet_decl_64bit_enum_big_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_64bit_enum_big_endian.rs index 3858625..589f75c 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_64bit_enum_big_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_64bit_enum_big_endian.rs @@ -24,10 +24,11 @@ impl std::fmt::Debug for Private { } } #[repr(u64)] -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u64", into = "u64"))] pub enum Foo { + #[default] A = 0x1, B = 0x2, } @@ -54,7 +55,7 @@ impl From for u64 { (&value).into() } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Bar { pub x: Foo, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_64bit_enum_little_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_64bit_enum_little_endian.rs index aa34078..fe9af33 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_64bit_enum_little_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_64bit_enum_little_endian.rs @@ -24,10 +24,11 @@ impl std::fmt::Debug for Private { } } #[repr(u64)] -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u64", into = "u64"))] pub enum Foo { + #[default] A = 0x1, B = 0x2, } @@ -54,7 +55,7 @@ impl From for u64 { (&value).into() } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Bar { pub x: Foo, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_64bit_scalar_array_big_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_64bit_scalar_array_big_endian.rs index 1669c9a..a238f7e 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_64bit_scalar_array_big_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_64bit_scalar_array_big_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub x: [u64; 7], diff --git a/pdl-compiler/tests/generated/rust/packet_decl_64bit_scalar_array_little_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_64bit_scalar_array_little_endian.rs index 2bb33b1..adc0ab0 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_64bit_scalar_array_little_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_64bit_scalar_array_little_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub x: [u64; 7], diff --git a/pdl-compiler/tests/generated/rust/packet_decl_64bit_scalar_big_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_64bit_scalar_big_endian.rs index 38c4e71..50927c3 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_64bit_scalar_big_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_64bit_scalar_big_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub x: u64, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_64bit_scalar_little_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_64bit_scalar_little_endian.rs index d993814..f2d8eb8 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_64bit_scalar_little_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_64bit_scalar_little_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub x: u64, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_8bit_enum_array_big_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_8bit_enum_array_big_endian.rs index 0f63a9d..333dcb9 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_8bit_enum_array_big_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_8bit_enum_array_big_endian.rs @@ -24,10 +24,11 @@ impl std::fmt::Debug for Private { } } #[repr(u64)] -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u8", into = "u8"))] pub enum Foo { + #[default] FooBar = 0x1, Baz = 0x2, } @@ -84,7 +85,7 @@ impl From for u64 { u8::from(value) as Self } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Bar { pub x: [Foo; 3], diff --git a/pdl-compiler/tests/generated/rust/packet_decl_8bit_enum_array_little_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_8bit_enum_array_little_endian.rs index 0f63a9d..333dcb9 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_8bit_enum_array_little_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_8bit_enum_array_little_endian.rs @@ -24,10 +24,11 @@ impl std::fmt::Debug for Private { } } #[repr(u64)] -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u8", into = "u8"))] pub enum Foo { + #[default] FooBar = 0x1, Baz = 0x2, } @@ -84,7 +85,7 @@ impl From for u64 { u8::from(value) as Self } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Bar { pub x: [Foo; 3], diff --git a/pdl-compiler/tests/generated/rust/packet_decl_8bit_enum_big_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_8bit_enum_big_endian.rs index 809b880..b79098d 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_8bit_enum_big_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_8bit_enum_big_endian.rs @@ -24,10 +24,11 @@ impl std::fmt::Debug for Private { } } #[repr(u64)] -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u8", into = "u8"))] pub enum Foo { + #[default] A = 0x1, B = 0x2, } @@ -84,7 +85,7 @@ impl From for u64 { u8::from(value) as Self } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Bar { pub x: Foo, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_8bit_enum_little_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_8bit_enum_little_endian.rs index 809b880..b79098d 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_8bit_enum_little_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_8bit_enum_little_endian.rs @@ -24,10 +24,11 @@ impl std::fmt::Debug for Private { } } #[repr(u64)] -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u8", into = "u8"))] pub enum Foo { + #[default] A = 0x1, B = 0x2, } @@ -84,7 +85,7 @@ impl From for u64 { u8::from(value) as Self } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Bar { pub x: Foo, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_8bit_scalar_array_big_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_8bit_scalar_array_big_endian.rs index 84f342f..8dddcc3 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_8bit_scalar_array_big_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_8bit_scalar_array_big_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub x: [u8; 3], diff --git a/pdl-compiler/tests/generated/rust/packet_decl_8bit_scalar_array_little_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_8bit_scalar_array_little_endian.rs index 84f342f..8dddcc3 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_8bit_scalar_array_little_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_8bit_scalar_array_little_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub x: [u8; 3], diff --git a/pdl-compiler/tests/generated/rust/packet_decl_8bit_scalar_big_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_8bit_scalar_big_endian.rs index d49959b..fb8c4fa 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_8bit_scalar_big_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_8bit_scalar_big_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub x: u8, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_8bit_scalar_little_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_8bit_scalar_little_endian.rs index d49959b..fb8c4fa 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_8bit_scalar_little_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_8bit_scalar_little_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub x: u8, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_count_big_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_count_big_endian.rs index 72b80ff..fa307d1 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_count_big_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_count_big_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub padding: u8, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_count_little_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_count_little_endian.rs index fc11c17..6e015fd 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_count_little_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_count_little_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub padding: u8, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_element_size_big_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_element_size_big_endian.rs index b78173f..c5f4b07 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_element_size_big_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_element_size_big_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub inner: Vec, @@ -51,7 +51,7 @@ impl Packet for Foo { Ok((Self { inner }, buf)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Bar { pub padding: u8, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_element_size_dynamic_count_big_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_element_size_dynamic_count_big_endian.rs index 82cf600..612e3a7 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_element_size_dynamic_count_big_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_element_size_dynamic_count_big_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub inner: Vec, @@ -51,7 +51,7 @@ impl Packet for Foo { Ok((Self { inner }, buf)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Bar { pub x: Vec, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_element_size_dynamic_count_little_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_element_size_dynamic_count_little_endian.rs index 82cf600..612e3a7 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_element_size_dynamic_count_little_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_element_size_dynamic_count_little_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub inner: Vec, @@ -51,7 +51,7 @@ impl Packet for Foo { Ok((Self { inner }, buf)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Bar { pub x: Vec, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_element_size_dynamic_size_big_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_element_size_dynamic_size_big_endian.rs index 8af7a93..7854cd8 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_element_size_dynamic_size_big_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_element_size_dynamic_size_big_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub inner: Vec, @@ -51,7 +51,7 @@ impl Packet for Foo { Ok((Self { inner }, buf)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Bar { pub x: Vec, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_element_size_dynamic_size_little_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_element_size_dynamic_size_little_endian.rs index 8af7a93..7854cd8 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_element_size_dynamic_size_little_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_element_size_dynamic_size_little_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub inner: Vec, @@ -51,7 +51,7 @@ impl Packet for Foo { Ok((Self { inner }, buf)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Bar { pub x: Vec, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_element_size_little_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_element_size_little_endian.rs index b78173f..c5f4b07 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_element_size_little_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_element_size_little_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub inner: Vec, @@ -51,7 +51,7 @@ impl Packet for Foo { Ok((Self { inner }, buf)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Bar { pub padding: u8, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_element_size_static_count_1_big_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_element_size_static_count_1_big_endian.rs index e3715d3..43171d6 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_element_size_static_count_1_big_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_element_size_static_count_1_big_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub inner: Vec, @@ -51,7 +51,7 @@ impl Packet for Foo { Ok((Self { inner }, buf)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Bar { pub padding: u8, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_element_size_static_count_1_little_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_element_size_static_count_1_little_endian.rs index e3715d3..43171d6 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_element_size_static_count_1_little_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_element_size_static_count_1_little_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub inner: Vec, @@ -51,7 +51,7 @@ impl Packet for Foo { Ok((Self { inner }, buf)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Bar { pub padding: u8, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_element_size_static_count_big_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_element_size_static_count_big_endian.rs index f7fd004..a7229ef 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_element_size_static_count_big_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_element_size_static_count_big_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub inner: Vec, @@ -51,7 +51,7 @@ impl Packet for Foo { Ok((Self { inner }, buf)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Bar { pub padding: u8, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_element_size_static_count_little_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_element_size_static_count_little_endian.rs index f7fd004..a7229ef 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_element_size_static_count_little_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_element_size_static_count_little_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub inner: Vec, @@ -51,7 +51,7 @@ impl Packet for Foo { Ok((Self { inner }, buf)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Bar { pub padding: u8, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_size_big_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_size_big_endian.rs index 1f30887..ed399ff 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_size_big_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_size_big_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub padding: u8, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_size_little_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_size_little_endian.rs index 903aad3..8237922 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_size_little_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_array_dynamic_size_little_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub padding: u8, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_array_unknown_element_width_dynamic_count_big_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_array_unknown_element_width_dynamic_count_big_endian.rs index ab1c384..9dc9e4a 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_array_unknown_element_width_dynamic_count_big_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_array_unknown_element_width_dynamic_count_big_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub a: Vec, @@ -74,7 +74,7 @@ impl Packet for Foo { Ok((Self { a }, buf)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Bar { pub x: Vec, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_array_unknown_element_width_dynamic_count_little_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_array_unknown_element_width_dynamic_count_little_endian.rs index 5a161e7..840734d 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_array_unknown_element_width_dynamic_count_little_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_array_unknown_element_width_dynamic_count_little_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub a: Vec, @@ -74,7 +74,7 @@ impl Packet for Foo { Ok((Self { a }, buf)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Bar { pub x: Vec, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_array_unknown_element_width_dynamic_size_big_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_array_unknown_element_width_dynamic_size_big_endian.rs index 5c739ab..19550dd 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_array_unknown_element_width_dynamic_size_big_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_array_unknown_element_width_dynamic_size_big_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub a: Vec, @@ -74,7 +74,7 @@ impl Packet for Foo { Ok((Self { a }, buf)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Bar { pub x: Vec, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_array_unknown_element_width_dynamic_size_little_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_array_unknown_element_width_dynamic_size_little_endian.rs index 91d2a38..beafbfa 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_array_unknown_element_width_dynamic_size_little_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_array_unknown_element_width_dynamic_size_little_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub a: Vec, @@ -74,7 +74,7 @@ impl Packet for Foo { Ok((Self { a }, buf)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Bar { pub x: Vec, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_array_with_padding_big_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_array_with_padding_big_endian.rs index 92c61e5..dc91367 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_array_with_padding_big_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_array_with_padding_big_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub a: Vec, @@ -74,7 +74,7 @@ impl Packet for Foo { Ok((Self { a }, buf)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Bar { pub a: Vec, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_array_with_padding_little_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_array_with_padding_little_endian.rs index c97a536..4c0cd0e 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_array_with_padding_little_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_array_with_padding_little_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub a: Vec, @@ -74,7 +74,7 @@ impl Packet for Foo { Ok((Self { a }, buf)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Bar { pub a: Vec, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_child_packets_big_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_child_packets_big_endian.rs index 6a6e910..7d5ac20 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_child_packets_big_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_child_packets_big_endian.rs @@ -24,10 +24,11 @@ impl std::fmt::Debug for Private { } } #[repr(u64)] -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u16", into = "u16"))] pub enum Enum16 { + #[default] A = 0x1, B = 0x2, } @@ -74,18 +75,19 @@ impl From for u64 { u16::from(value) as Self } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub a: u8, pub b: Enum16, pub payload: Vec, } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub enum FooChild { Bar(Bar), Baz(Baz), + #[default] None, } impl Foo { @@ -170,7 +172,7 @@ impl Packet for Foo { Ok((Self { payload, a, b }, buf)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Bar { pub x: u8, @@ -270,7 +272,7 @@ impl Packet for Bar { Ok((packet, trailing_bytes)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Baz { pub y: u16, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_child_packets_little_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_child_packets_little_endian.rs index 1ddc9e1..fb7770a 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_child_packets_little_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_child_packets_little_endian.rs @@ -24,10 +24,11 @@ impl std::fmt::Debug for Private { } } #[repr(u64)] -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u16", into = "u16"))] pub enum Enum16 { + #[default] A = 0x1, B = 0x2, } @@ -74,18 +75,19 @@ impl From for u64 { u16::from(value) as Self } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub a: u8, pub b: Enum16, pub payload: Vec, } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub enum FooChild { Bar(Bar), Baz(Baz), + #[default] None, } impl Foo { @@ -170,7 +172,7 @@ impl Packet for Foo { Ok((Self { payload, a, b }, buf)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Bar { pub x: u8, @@ -270,7 +272,7 @@ impl Packet for Bar { Ok((packet, trailing_bytes)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Baz { pub y: u16, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_complex_scalars_big_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_complex_scalars_big_endian.rs index e2f6e8c..8276556 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_complex_scalars_big_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_complex_scalars_big_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub a: u8, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_complex_scalars_little_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_complex_scalars_little_endian.rs index b18d238..6d565d1 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_complex_scalars_little_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_complex_scalars_little_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub a: u8, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_custom_field_big_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_custom_field_big_endian.rs index 241fabb..a9aaea8 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_custom_field_big_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_custom_field_big_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u32", into = "u32"))] pub struct Bar1(u32); @@ -62,7 +62,7 @@ impl TryFrom for Bar1 { if value > 0xff_ffff { Err(value) } else { Ok(Bar1(value)) } } } -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(from = "u32", into = "u32"))] pub struct Bar2(u32); @@ -100,7 +100,7 @@ impl From for Bar2 { Bar2(value) } } -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(from = "u64", into = "u64"))] pub struct Bar3(u64); @@ -138,7 +138,7 @@ impl From for Bar3 { Bar3(value) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub a: Bar1, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_custom_field_little_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_custom_field_little_endian.rs index f5a9714..70addaa 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_custom_field_little_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_custom_field_little_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u32", into = "u32"))] pub struct Bar1(u32); @@ -62,7 +62,7 @@ impl TryFrom for Bar1 { if value > 0xff_ffff { Err(value) } else { Ok(Bar1(value)) } } } -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(from = "u32", into = "u32"))] pub struct Bar2(u32); @@ -100,7 +100,7 @@ impl From for Bar2 { Bar2(value) } } -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(from = "u64", into = "u64"))] pub struct Bar3(u64); @@ -138,7 +138,7 @@ impl From for Bar3 { Bar3(value) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub a: Bar1, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_empty_big_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_empty_big_endian.rs index 64c4adf..dad3ddc 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_empty_big_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_empty_big_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo {} impl Foo {} diff --git a/pdl-compiler/tests/generated/rust/packet_decl_empty_little_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_empty_little_endian.rs index 64c4adf..dad3ddc 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_empty_little_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_empty_little_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo {} impl Foo {} diff --git a/pdl-compiler/tests/generated/rust/packet_decl_fixed_enum_field_big_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_fixed_enum_field_big_endian.rs index 62b8e7f..2d94b3d 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_fixed_enum_field_big_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_fixed_enum_field_big_endian.rs @@ -24,10 +24,11 @@ impl std::fmt::Debug for Private { } } #[repr(u64)] -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u8", into = "u8"))] pub enum Enum7 { + #[default] A = 0x1, B = 0x2, } @@ -89,7 +90,7 @@ impl From for u64 { u8::from(value) as Self } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub b: u64, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_fixed_enum_field_little_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_fixed_enum_field_little_endian.rs index 015edf7..d9fa1af 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_fixed_enum_field_little_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_fixed_enum_field_little_endian.rs @@ -24,10 +24,11 @@ impl std::fmt::Debug for Private { } } #[repr(u64)] -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u8", into = "u8"))] pub enum Enum7 { + #[default] A = 0x1, B = 0x2, } @@ -89,7 +90,7 @@ impl From for u64 { u8::from(value) as Self } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub b: u64, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_fixed_scalar_field_big_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_fixed_scalar_field_big_endian.rs index c63be93..2dfc24e 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_fixed_scalar_field_big_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_fixed_scalar_field_big_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub b: u64, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_fixed_scalar_field_little_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_fixed_scalar_field_little_endian.rs index a6c4366..b7b0982 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_fixed_scalar_field_little_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_fixed_scalar_field_little_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub b: u64, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_grand_children_big_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_grand_children_big_endian.rs index 4564de4..79153c7 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_grand_children_big_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_grand_children_big_endian.rs @@ -24,10 +24,11 @@ impl std::fmt::Debug for Private { } } #[repr(u64)] -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u16", into = "u16"))] pub enum Enum16 { + #[default] A = 0x1, B = 0x2, } @@ -74,7 +75,7 @@ impl From for u64 { u16::from(value) as Self } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Parent { pub foo: Enum16, @@ -82,10 +83,11 @@ pub struct Parent { pub baz: Enum16, pub payload: Vec, } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub enum ParentChild { Child(Child), + #[default] None, } impl Parent { @@ -197,7 +199,7 @@ impl Packet for Parent { Ok((Self { payload, foo, bar, baz }, buf)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Child { pub quux: Enum16, @@ -236,10 +238,11 @@ impl TryFrom for Child { (&parent).try_into() } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub enum ChildChild { GrandChild(GrandChild), + #[default] None, } impl Child { @@ -337,7 +340,7 @@ impl Packet for Child { Ok((packet, trailing_bytes)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct GrandChild { pub baz: Enum16, @@ -398,10 +401,11 @@ impl TryFrom for GrandChild { (&packet).try_into() } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub enum GrandChildChild { GrandGrandChild(GrandGrandChild), + #[default] None, } impl GrandChild { @@ -486,7 +490,7 @@ impl Packet for GrandChild { Ok((packet, trailing_bytes)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct GrandGrandChild { pub payload: Vec, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_grand_children_little_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_grand_children_little_endian.rs index 86273a8..cae5b0b 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_grand_children_little_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_grand_children_little_endian.rs @@ -24,10 +24,11 @@ impl std::fmt::Debug for Private { } } #[repr(u64)] -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u16", into = "u16"))] pub enum Enum16 { + #[default] A = 0x1, B = 0x2, } @@ -74,7 +75,7 @@ impl From for u64 { u16::from(value) as Self } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Parent { pub foo: Enum16, @@ -82,10 +83,11 @@ pub struct Parent { pub baz: Enum16, pub payload: Vec, } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub enum ParentChild { Child(Child), + #[default] None, } impl Parent { @@ -197,7 +199,7 @@ impl Packet for Parent { Ok((Self { payload, foo, bar, baz }, buf)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Child { pub quux: Enum16, @@ -236,10 +238,11 @@ impl TryFrom for Child { (&parent).try_into() } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub enum ChildChild { GrandChild(GrandChild), + #[default] None, } impl Child { @@ -337,7 +340,7 @@ impl Packet for Child { Ok((packet, trailing_bytes)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct GrandChild { pub baz: Enum16, @@ -398,10 +401,11 @@ impl TryFrom for GrandChild { (&packet).try_into() } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub enum GrandChildChild { GrandGrandChild(GrandGrandChild), + #[default] None, } impl GrandChild { @@ -486,7 +490,7 @@ impl Packet for GrandChild { Ok((packet, trailing_bytes)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct GrandGrandChild { pub payload: Vec, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_mask_scalar_value_big_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_mask_scalar_value_big_endian.rs index 9ed566f..9a05491 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_mask_scalar_value_big_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_mask_scalar_value_big_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub a: u8, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_mask_scalar_value_little_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_mask_scalar_value_little_endian.rs index da4bb64..2724f2c 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_mask_scalar_value_little_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_mask_scalar_value_little_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub a: u8, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_mixed_scalars_enums_big_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_mixed_scalars_enums_big_endian.rs index a974b70..3011e72 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_mixed_scalars_enums_big_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_mixed_scalars_enums_big_endian.rs @@ -24,10 +24,11 @@ impl std::fmt::Debug for Private { } } #[repr(u64)] -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u8", into = "u8"))] pub enum Enum7 { + #[default] A = 0x1, B = 0x2, } @@ -90,10 +91,11 @@ impl From for u64 { } } #[repr(u64)] -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u16", into = "u16"))] pub enum Enum9 { + #[default] A = 0x1, B = 0x2, } @@ -145,7 +147,7 @@ impl From for u64 { u16::from(value) as Self } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub x: Enum7, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_mixed_scalars_enums_little_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_mixed_scalars_enums_little_endian.rs index 77ed48e..22485ea 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_mixed_scalars_enums_little_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_mixed_scalars_enums_little_endian.rs @@ -24,10 +24,11 @@ impl std::fmt::Debug for Private { } } #[repr(u64)] -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u8", into = "u8"))] pub enum Enum7 { + #[default] A = 0x1, B = 0x2, } @@ -90,10 +91,11 @@ impl From for u64 { } } #[repr(u64)] -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u16", into = "u16"))] pub enum Enum9 { + #[default] A = 0x1, B = 0x2, } @@ -145,7 +147,7 @@ impl From for u64 { u16::from(value) as Self } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub x: Enum7, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_parent_with_alias_child_big_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_parent_with_alias_child_big_endian.rs index 2988558..a323fd8 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_parent_with_alias_child_big_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_parent_with_alias_child_big_endian.rs @@ -24,10 +24,11 @@ impl std::fmt::Debug for Private { } } #[repr(u64)] -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u8", into = "u8"))] pub enum Enum8 { + #[default] A = 0x0, B = 0x1, C = 0x2, @@ -87,17 +88,18 @@ impl From for u64 { u8::from(value) as Self } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Parent { pub v: Enum8, pub payload: Vec, } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub enum ParentChild { AliasChild(AliasChild), NormalChild(NormalChild), + #[default] None, } impl Parent { @@ -146,7 +148,7 @@ impl Packet for Parent { Ok((Self { payload, v }, buf)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct AliasChild { pub v: Enum8, @@ -178,11 +180,12 @@ impl TryFrom for AliasChild { (&parent).try_into() } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub enum AliasChildChild { NormalGrandChild1(NormalGrandChild1), NormalGrandChild2(NormalGrandChild2), + #[default] None, } impl AliasChild { @@ -231,7 +234,7 @@ impl Packet for AliasChild { Ok((packet, trailing_bytes)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct NormalChild {} impl TryFrom<&NormalChild> for Parent { @@ -295,7 +298,7 @@ impl Packet for NormalChild { Ok((packet, trailing_bytes)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct NormalGrandChild1 {} impl TryFrom<&NormalGrandChild1> for AliasChild { @@ -383,7 +386,7 @@ impl Packet for NormalGrandChild1 { Ok((packet, trailing_bytes)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct NormalGrandChild2 { pub payload: Vec, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_parent_with_alias_child_little_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_parent_with_alias_child_little_endian.rs index 2988558..a323fd8 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_parent_with_alias_child_little_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_parent_with_alias_child_little_endian.rs @@ -24,10 +24,11 @@ impl std::fmt::Debug for Private { } } #[repr(u64)] -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u8", into = "u8"))] pub enum Enum8 { + #[default] A = 0x0, B = 0x1, C = 0x2, @@ -87,17 +88,18 @@ impl From for u64 { u8::from(value) as Self } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Parent { pub v: Enum8, pub payload: Vec, } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub enum ParentChild { AliasChild(AliasChild), NormalChild(NormalChild), + #[default] None, } impl Parent { @@ -146,7 +148,7 @@ impl Packet for Parent { Ok((Self { payload, v }, buf)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct AliasChild { pub v: Enum8, @@ -178,11 +180,12 @@ impl TryFrom for AliasChild { (&parent).try_into() } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub enum AliasChildChild { NormalGrandChild1(NormalGrandChild1), NormalGrandChild2(NormalGrandChild2), + #[default] None, } impl AliasChild { @@ -231,7 +234,7 @@ impl Packet for AliasChild { Ok((packet, trailing_bytes)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct NormalChild {} impl TryFrom<&NormalChild> for Parent { @@ -295,7 +298,7 @@ impl Packet for NormalChild { Ok((packet, trailing_bytes)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct NormalGrandChild1 {} impl TryFrom<&NormalGrandChild1> for AliasChild { @@ -383,7 +386,7 @@ impl Packet for NormalGrandChild1 { Ok((packet, trailing_bytes)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct NormalGrandChild2 { pub payload: Vec, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_parent_with_no_payload_big_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_parent_with_no_payload_big_endian.rs index 2bb8277..ea55e7d 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_parent_with_no_payload_big_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_parent_with_no_payload_big_endian.rs @@ -24,10 +24,11 @@ impl std::fmt::Debug for Private { } } #[repr(u64)] -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u8", into = "u8"))] pub enum Enum8 { + #[default] A = 0x0, } impl TryFrom for Enum8 { @@ -81,15 +82,16 @@ impl From for u64 { u8::from(value) as Self } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Parent { pub v: Enum8, } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub enum ParentChild { Child(Child), + #[default] None, } impl Parent { @@ -131,7 +133,7 @@ impl Packet for Parent { Ok((Self { v }, buf)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Child {} impl From<&Child> for Parent { diff --git a/pdl-compiler/tests/generated/rust/packet_decl_parent_with_no_payload_little_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_parent_with_no_payload_little_endian.rs index 2bb8277..ea55e7d 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_parent_with_no_payload_little_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_parent_with_no_payload_little_endian.rs @@ -24,10 +24,11 @@ impl std::fmt::Debug for Private { } } #[repr(u64)] -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u8", into = "u8"))] pub enum Enum8 { + #[default] A = 0x0, } impl TryFrom for Enum8 { @@ -81,15 +82,16 @@ impl From for u64 { u8::from(value) as Self } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Parent { pub v: Enum8, } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub enum ParentChild { Child(Child), + #[default] None, } impl Parent { @@ -131,7 +133,7 @@ impl Packet for Parent { Ok((Self { v }, buf)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Child {} impl From<&Child> for Parent { diff --git a/pdl-compiler/tests/generated/rust/packet_decl_payload_field_unknown_size_big_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_payload_field_unknown_size_big_endian.rs index 583f1c6..b4d4205 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_payload_field_unknown_size_big_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_payload_field_unknown_size_big_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub a: u32, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_payload_field_unknown_size_little_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_payload_field_unknown_size_little_endian.rs index 04f9b1a..64e396b 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_payload_field_unknown_size_little_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_payload_field_unknown_size_little_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub a: u32, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_payload_field_unknown_size_terminal_big_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_payload_field_unknown_size_terminal_big_endian.rs index 8b56781..ea52174 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_payload_field_unknown_size_terminal_big_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_payload_field_unknown_size_terminal_big_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub a: u32, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_payload_field_unknown_size_terminal_little_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_payload_field_unknown_size_terminal_little_endian.rs index 6f4d71c..c439660 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_payload_field_unknown_size_terminal_little_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_payload_field_unknown_size_terminal_little_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub a: u32, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_payload_field_variable_size_big_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_payload_field_variable_size_big_endian.rs index a5f09a8..fa2a4db 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_payload_field_variable_size_big_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_payload_field_variable_size_big_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub a: u8, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_payload_field_variable_size_little_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_payload_field_variable_size_little_endian.rs index d8258ad..766e3d0 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_payload_field_variable_size_little_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_payload_field_variable_size_little_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub a: u8, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_reserved_field_big_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_reserved_field_big_endian.rs index 0eaeb23..9e9c665 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_reserved_field_big_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_reserved_field_big_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo {} impl Foo {} diff --git a/pdl-compiler/tests/generated/rust/packet_decl_reserved_field_little_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_reserved_field_little_endian.rs index 0eaeb23..9e9c665 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_reserved_field_little_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_reserved_field_little_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo {} impl Foo {} diff --git a/pdl-compiler/tests/generated/rust/packet_decl_simple_scalars_big_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_simple_scalars_big_endian.rs index e1c39d3..49ccebe 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_simple_scalars_big_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_simple_scalars_big_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub x: u8, diff --git a/pdl-compiler/tests/generated/rust/packet_decl_simple_scalars_little_endian.rs b/pdl-compiler/tests/generated/rust/packet_decl_simple_scalars_little_endian.rs index e6560dc..1f28c8a 100644 --- a/pdl-compiler/tests/generated/rust/packet_decl_simple_scalars_little_endian.rs +++ b/pdl-compiler/tests/generated/rust/packet_decl_simple_scalars_little_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub x: u8, diff --git a/pdl-compiler/tests/generated/rust/payload_with_size_modifier_big_endian.rs b/pdl-compiler/tests/generated/rust/payload_with_size_modifier_big_endian.rs index a1f03d2..b3c11f1 100644 --- a/pdl-compiler/tests/generated/rust/payload_with_size_modifier_big_endian.rs +++ b/pdl-compiler/tests/generated/rust/payload_with_size_modifier_big_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Test { pub payload: Vec, diff --git a/pdl-compiler/tests/generated/rust/payload_with_size_modifier_little_endian.rs b/pdl-compiler/tests/generated/rust/payload_with_size_modifier_little_endian.rs index a1f03d2..b3c11f1 100644 --- a/pdl-compiler/tests/generated/rust/payload_with_size_modifier_little_endian.rs +++ b/pdl-compiler/tests/generated/rust/payload_with_size_modifier_little_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Test { pub payload: Vec, diff --git a/pdl-compiler/tests/generated/rust/reserved_identifier_big_endian.rs b/pdl-compiler/tests/generated/rust/reserved_identifier_big_endian.rs index 17ee5a3..b8d82f9 100644 --- a/pdl-compiler/tests/generated/rust/reserved_identifier_big_endian.rs +++ b/pdl-compiler/tests/generated/rust/reserved_identifier_big_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Test { pub r#type: u8, diff --git a/pdl-compiler/tests/generated/rust/reserved_identifier_little_endian.rs b/pdl-compiler/tests/generated/rust/reserved_identifier_little_endian.rs index 17ee5a3..b8d82f9 100644 --- a/pdl-compiler/tests/generated/rust/reserved_identifier_little_endian.rs +++ b/pdl-compiler/tests/generated/rust/reserved_identifier_little_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Test { pub r#type: u8, diff --git a/pdl-compiler/tests/generated/rust/struct_decl_child_structs_big_endian.rs b/pdl-compiler/tests/generated/rust/struct_decl_child_structs_big_endian.rs index b232fcf..4d77861 100644 --- a/pdl-compiler/tests/generated/rust/struct_decl_child_structs_big_endian.rs +++ b/pdl-compiler/tests/generated/rust/struct_decl_child_structs_big_endian.rs @@ -24,10 +24,11 @@ impl std::fmt::Debug for Private { } } #[repr(u64)] -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u16", into = "u16"))] pub enum Enum16 { + #[default] A = 0x1, B = 0x2, } @@ -74,18 +75,19 @@ impl From for u64 { u16::from(value) as Self } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub a: u8, pub b: Enum16, pub payload: Vec, } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub enum FooChild { Bar(Bar), Baz(Baz), + #[default] None, } impl Foo { @@ -171,7 +173,7 @@ impl Packet for Foo { Ok((Self { payload, a, b }, buf)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Bar { pub x: u8, @@ -271,7 +273,7 @@ impl Packet for Bar { Ok((packet, trailing_bytes)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Baz { pub y: u16, diff --git a/pdl-compiler/tests/generated/rust/struct_decl_child_structs_little_endian.rs b/pdl-compiler/tests/generated/rust/struct_decl_child_structs_little_endian.rs index 3b562ce..d5379eb 100644 --- a/pdl-compiler/tests/generated/rust/struct_decl_child_structs_little_endian.rs +++ b/pdl-compiler/tests/generated/rust/struct_decl_child_structs_little_endian.rs @@ -24,10 +24,11 @@ impl std::fmt::Debug for Private { } } #[repr(u64)] -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u16", into = "u16"))] pub enum Enum16 { + #[default] A = 0x1, B = 0x2, } @@ -74,18 +75,19 @@ impl From for u64 { u16::from(value) as Self } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub a: u8, pub b: Enum16, pub payload: Vec, } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub enum FooChild { Bar(Bar), Baz(Baz), + #[default] None, } impl Foo { @@ -171,7 +173,7 @@ impl Packet for Foo { Ok((Self { payload, a, b }, buf)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Bar { pub x: u8, @@ -271,7 +273,7 @@ impl Packet for Bar { Ok((packet, trailing_bytes)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Baz { pub y: u16, diff --git a/pdl-compiler/tests/generated/rust/struct_decl_complex_scalars_big_endian.rs b/pdl-compiler/tests/generated/rust/struct_decl_complex_scalars_big_endian.rs index e2f6e8c..8276556 100644 --- a/pdl-compiler/tests/generated/rust/struct_decl_complex_scalars_big_endian.rs +++ b/pdl-compiler/tests/generated/rust/struct_decl_complex_scalars_big_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub a: u8, diff --git a/pdl-compiler/tests/generated/rust/struct_decl_complex_scalars_little_endian.rs b/pdl-compiler/tests/generated/rust/struct_decl_complex_scalars_little_endian.rs index b18d238..6d565d1 100644 --- a/pdl-compiler/tests/generated/rust/struct_decl_complex_scalars_little_endian.rs +++ b/pdl-compiler/tests/generated/rust/struct_decl_complex_scalars_little_endian.rs @@ -23,7 +23,7 @@ impl std::fmt::Debug for Private { T::fmt(&self.0, f) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Foo { pub a: u8, diff --git a/pdl-compiler/tests/generated/rust/struct_decl_grand_children_big_endian.rs b/pdl-compiler/tests/generated/rust/struct_decl_grand_children_big_endian.rs index 56933f8..dd5597c 100644 --- a/pdl-compiler/tests/generated/rust/struct_decl_grand_children_big_endian.rs +++ b/pdl-compiler/tests/generated/rust/struct_decl_grand_children_big_endian.rs @@ -24,10 +24,11 @@ impl std::fmt::Debug for Private { } } #[repr(u64)] -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u16", into = "u16"))] pub enum Enum16 { + #[default] A = 0x1, B = 0x2, } @@ -74,7 +75,7 @@ impl From for u64 { u16::from(value) as Self } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Parent { pub foo: Enum16, @@ -82,10 +83,11 @@ pub struct Parent { pub baz: Enum16, pub payload: Vec, } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub enum ParentChild { Child(Child), + #[default] None, } impl Parent { @@ -198,7 +200,7 @@ impl Packet for Parent { Ok((Self { payload, foo, bar, baz }, buf)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Child { pub quux: Enum16, @@ -237,10 +239,11 @@ impl TryFrom for Child { (&parent).try_into() } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub enum ChildChild { GrandChild(GrandChild), + #[default] None, } impl Child { @@ -339,7 +342,7 @@ impl Packet for Child { Ok((packet, trailing_bytes)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct GrandChild { pub baz: Enum16, @@ -400,10 +403,11 @@ impl TryFrom for GrandChild { (&packet).try_into() } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub enum GrandChildChild { GrandGrandChild(GrandGrandChild), + #[default] None, } impl GrandChild { @@ -489,7 +493,7 @@ impl Packet for GrandChild { Ok((packet, trailing_bytes)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct GrandGrandChild { pub payload: Vec, diff --git a/pdl-compiler/tests/generated/rust/struct_decl_grand_children_little_endian.rs b/pdl-compiler/tests/generated/rust/struct_decl_grand_children_little_endian.rs index c91a199..5fdd147 100644 --- a/pdl-compiler/tests/generated/rust/struct_decl_grand_children_little_endian.rs +++ b/pdl-compiler/tests/generated/rust/struct_decl_grand_children_little_endian.rs @@ -24,10 +24,11 @@ impl std::fmt::Debug for Private { } } #[repr(u64)] -#[derive(Debug, Clone, Copy, Hash, Eq, PartialEq)] +#[derive(Default, Debug, Clone, Copy, Hash, Eq, PartialEq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", serde(try_from = "u16", into = "u16"))] pub enum Enum16 { + #[default] A = 0x1, B = 0x2, } @@ -74,7 +75,7 @@ impl From for u64 { u16::from(value) as Self } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Parent { pub foo: Enum16, @@ -82,10 +83,11 @@ pub struct Parent { pub baz: Enum16, pub payload: Vec, } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub enum ParentChild { Child(Child), + #[default] None, } impl Parent { @@ -198,7 +200,7 @@ impl Packet for Parent { Ok((Self { payload, foo, bar, baz }, buf)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct Child { pub quux: Enum16, @@ -237,10 +239,11 @@ impl TryFrom for Child { (&parent).try_into() } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub enum ChildChild { GrandChild(GrandChild), + #[default] None, } impl Child { @@ -339,7 +342,7 @@ impl Packet for Child { Ok((packet, trailing_bytes)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct GrandChild { pub baz: Enum16, @@ -400,10 +403,11 @@ impl TryFrom for GrandChild { (&packet).try_into() } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub enum GrandChildChild { GrandGrandChild(GrandGrandChild), + #[default] None, } impl GrandChild { @@ -489,7 +493,7 @@ impl Packet for GrandChild { Ok((packet, trailing_bytes)) } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct GrandGrandChild { pub payload: Vec,