From a2f2723a2630701fddc2156c3d2992e03728d279 Mon Sep 17 00:00:00 2001 From: Henri Chataing Date: Fri, 9 Jan 2026 14:36:37 +0100 Subject: [PATCH] rust: add Default trait to generated types Original patch by guilhem.bonnefille@cs-soprasteria.com Fix #146 --- pdl-compiler/src/backends/rust/mod.rs | 18 +++++++++------- .../custom_field_declaration_big_endian.rs | 4 ++-- .../custom_field_declaration_little_endian.rs | 4 ++-- .../rust/enum_declaration_big_endian.rs | 21 ++++++++++++------- .../rust/enum_declaration_little_endian.rs | 21 ++++++++++++------- ...packet_decl_24bit_enum_array_big_endian.rs | 5 +++-- ...ket_decl_24bit_enum_array_little_endian.rs | 5 +++-- .../rust/packet_decl_24bit_enum_big_endian.rs | 5 +++-- .../packet_decl_24bit_enum_little_endian.rs | 5 +++-- ...cket_decl_24bit_scalar_array_big_endian.rs | 2 +- ...t_decl_24bit_scalar_array_little_endian.rs | 2 +- .../packet_decl_24bit_scalar_big_endian.rs | 2 +- .../packet_decl_24bit_scalar_little_endian.rs | 2 +- ...packet_decl_64bit_enum_array_big_endian.rs | 5 +++-- ...ket_decl_64bit_enum_array_little_endian.rs | 5 +++-- .../rust/packet_decl_64bit_enum_big_endian.rs | 5 +++-- .../packet_decl_64bit_enum_little_endian.rs | 5 +++-- ...cket_decl_64bit_scalar_array_big_endian.rs | 2 +- ...t_decl_64bit_scalar_array_little_endian.rs | 2 +- .../packet_decl_64bit_scalar_big_endian.rs | 2 +- .../packet_decl_64bit_scalar_little_endian.rs | 2 +- .../packet_decl_8bit_enum_array_big_endian.rs | 5 +++-- ...cket_decl_8bit_enum_array_little_endian.rs | 5 +++-- .../rust/packet_decl_8bit_enum_big_endian.rs | 5 +++-- .../packet_decl_8bit_enum_little_endian.rs | 5 +++-- ...acket_decl_8bit_scalar_array_big_endian.rs | 2 +- ...et_decl_8bit_scalar_array_little_endian.rs | 2 +- .../packet_decl_8bit_scalar_big_endian.rs | 2 +- .../packet_decl_8bit_scalar_little_endian.rs | 2 +- ...ket_decl_array_dynamic_count_big_endian.rs | 2 +- ..._decl_array_dynamic_count_little_endian.rs | 2 +- ...l_array_dynamic_element_size_big_endian.rs | 4 ++-- ...c_element_size_dynamic_count_big_endian.rs | 4 ++-- ...lement_size_dynamic_count_little_endian.rs | 4 ++-- ...ic_element_size_dynamic_size_big_endian.rs | 4 ++-- ...element_size_dynamic_size_little_endian.rs | 4 ++-- ...rray_dynamic_element_size_little_endian.rs | 4 ++-- ..._element_size_static_count_1_big_endian.rs | 4 ++-- ...ement_size_static_count_1_little_endian.rs | 4 ++-- ...ic_element_size_static_count_big_endian.rs | 4 ++-- ...element_size_static_count_little_endian.rs | 4 ++-- ...cket_decl_array_dynamic_size_big_endian.rs | 2 +- ...t_decl_array_dynamic_size_little_endian.rs | 2 +- ..._element_width_dynamic_count_big_endian.rs | 4 ++-- ...ement_width_dynamic_count_little_endian.rs | 4 ++-- ...n_element_width_dynamic_size_big_endian.rs | 4 ++-- ...lement_width_dynamic_size_little_endian.rs | 4 ++-- ...cket_decl_array_with_padding_big_endian.rs | 4 ++-- ...t_decl_array_with_padding_little_endian.rs | 4 ++-- .../packet_decl_child_packets_big_endian.rs | 12 ++++++----- ...packet_decl_child_packets_little_endian.rs | 12 ++++++----- .../packet_decl_complex_scalars_big_endian.rs | 2 +- ...cket_decl_complex_scalars_little_endian.rs | 2 +- .../packet_decl_custom_field_big_endian.rs | 8 +++---- .../packet_decl_custom_field_little_endian.rs | 8 +++---- .../rust/packet_decl_empty_big_endian.rs | 2 +- .../rust/packet_decl_empty_little_endian.rs | 2 +- ...packet_decl_fixed_enum_field_big_endian.rs | 5 +++-- ...ket_decl_fixed_enum_field_little_endian.rs | 5 +++-- ...cket_decl_fixed_scalar_field_big_endian.rs | 2 +- ...t_decl_fixed_scalar_field_little_endian.rs | 2 +- .../packet_decl_grand_children_big_endian.rs | 20 +++++++++++------- ...acket_decl_grand_children_little_endian.rs | 20 +++++++++++------- ...acket_decl_mask_scalar_value_big_endian.rs | 2 +- ...et_decl_mask_scalar_value_little_endian.rs | 2 +- ...ket_decl_mixed_scalars_enums_big_endian.rs | 8 ++++--- ..._decl_mixed_scalars_enums_little_endian.rs | 8 ++++--- ...decl_parent_with_alias_child_big_endian.rs | 19 ++++++++++------- ...l_parent_with_alias_child_little_endian.rs | 19 ++++++++++------- ..._decl_parent_with_no_payload_big_endian.rs | 10 +++++---- ...cl_parent_with_no_payload_little_endian.rs | 10 +++++---- ...l_payload_field_unknown_size_big_endian.rs | 2 +- ...ayload_field_unknown_size_little_endian.rs | 2 +- ..._field_unknown_size_terminal_big_endian.rs | 2 +- ...eld_unknown_size_terminal_little_endian.rs | 2 +- ..._payload_field_variable_size_big_endian.rs | 2 +- ...yload_field_variable_size_little_endian.rs | 2 +- .../packet_decl_reserved_field_big_endian.rs | 2 +- ...acket_decl_reserved_field_little_endian.rs | 2 +- .../packet_decl_simple_scalars_big_endian.rs | 2 +- ...acket_decl_simple_scalars_little_endian.rs | 2 +- .../payload_with_size_modifier_big_endian.rs | 2 +- ...ayload_with_size_modifier_little_endian.rs | 2 +- .../rust/reserved_identifier_big_endian.rs | 2 +- .../rust/reserved_identifier_little_endian.rs | 2 +- .../struct_decl_child_structs_big_endian.rs | 12 ++++++----- ...struct_decl_child_structs_little_endian.rs | 12 ++++++----- .../struct_decl_complex_scalars_big_endian.rs | 2 +- ...ruct_decl_complex_scalars_little_endian.rs | 2 +- .../struct_decl_grand_children_big_endian.rs | 20 +++++++++++------- ...truct_decl_grand_children_little_endian.rs | 20 +++++++++++------- 91 files changed, 285 insertions(+), 215 deletions(-) diff --git a/pdl-compiler/src/backends/rust/mod.rs b/pdl-compiler/src/backends/rust/mod.rs index 922236db..3711d2a5 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 e5e9d5bb..9506e936 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 bc1874c5..3fbe08d9 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 dcff08ee..fd49e181 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 dcff08ee..fd49e181 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 7e4f43d9..adbf773b 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 f3248a0c..28b26277 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 ed6b119c..40151c3a 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 d31578c6..4dd43b99 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 807f37ca..4c6275c5 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 315f7d53..bc95f45b 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 d00b083a..5897bd14 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 1959babf..ad4c41a8 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 b8dce487..fb18fafd 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 23387af1..9165f820 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 38586250..589f75c7 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 aa340784..fe9af335 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 1669c9a0..a238f7e5 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 2bb33b12..adc0ab04 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 38c4e710..50927c32 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 d993814c..f2d8eb82 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 0f63a9de..333dcb96 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 0f63a9de..333dcb96 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 809b8808..b79098d4 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 809b8808..b79098d4 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 84f342f7..8dddcc30 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 84f342f7..8dddcc30 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 d49959bd..fb8c4fa4 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 d49959bd..fb8c4fa4 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 72b80fff..fa307d18 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 fc11c174..6e015fdb 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 b78173fc..c5f4b075 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 82cf6008..612e3a73 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 82cf6008..612e3a73 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 8af7a939..7854cd89 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 8af7a939..7854cd89 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 b78173fc..c5f4b075 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 e3715d37..43171d6e 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 e3715d37..43171d6e 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 f7fd0043..a7229ef0 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 f7fd0043..a7229ef0 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 1f30887e..ed399ff7 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 903aad3e..82379221 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 ab1c384f..9dc9e4ae 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 5a161e72..840734d7 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 5c739ab2..19550dde 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 91d2a388..beafbfa7 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 92c61e5c..dc913675 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 c97a536e..4c0cd0e8 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 6a6e9109..7d5ac205 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 1ddc9e19..fb7770a0 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 e2f6e8cd..8276556c 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 b18d238f..6d565d1f 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 241fabb4..a9aaea85 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 f5a97142..70addaaf 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 64c4adfc..dad3ddc8 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 64c4adfc..dad3ddc8 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 62b8e7fa..2d94b3d8 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 015edf79..d9fa1afd 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 c63be93d..2dfc24e6 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 a6c43669..b7b0982e 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 4564de4b..79153c7a 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 86273a8d..cae5b0b6 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 9ed566f0..9a054917 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 da4bb644..2724f2cd 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 a974b705..3011e72b 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 77ed48ed..22485ea8 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 2988558b..a323fd89 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 2988558b..a323fd89 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 2bb82776..ea55e7df 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 2bb82776..ea55e7df 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 583f1c6f..b4d42050 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 04f9b1a8..64e396b0 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 8b567818..ea521749 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 6f4d71c6..c4396605 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 a5f09a85..fa2a4dba 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 d8258ade..766e3d07 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 0eaeb238..9e9c665e 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 0eaeb238..9e9c665e 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 e1c39d37..49ccebed 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 e6560dce..1f28c8ae 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 a1f03d2c..b3c11f14 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 a1f03d2c..b3c11f14 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 17ee5a35..b8d82f97 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 17ee5a35..b8d82f97 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 b232fcf1..4d778619 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 3b562ce4..d5379ebe 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 e2f6e8cd..8276556c 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 b18d238f..6d565d1f 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 56933f8f..dd5597c4 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 c91a1993..5fdd1476 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,