From 15d69c4374d5b964b4a6ee1113bdcbcd6c280215 Mon Sep 17 00:00:00 2001 From: jsu Date: Thu, 24 Apr 2025 16:07:21 +0200 Subject: [PATCH 1/3] Bugfix default array --- src/idl_gen_rust.cpp | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/idl_gen_rust.cpp b/src/idl_gen_rust.cpp index b8811c6f3ff..f1463ddd16a 100644 --- a/src/idl_gen_rust.cpp +++ b/src/idl_gen_rust.cpp @@ -2884,13 +2884,30 @@ class RustGenerator : public BaseGenerator { // Generate Struct Object. if (parser_.opts.generate_object_based_api) { // Struct declaration - code_ += "#[derive(Debug, Clone, PartialEq, Default)]"; + code_ += "#[derive(Debug, Copy, Clone, PartialEq)]"; code_ += "{{ACCESS_TYPE}} struct {{STRUCT_OTY}} {"; ForAllStructFields(struct_def, [&](const FieldDef &field) { (void)field; // unused. code_ += "pub {{FIELD}}: {{FIELD_OTY}},"; }); code_ += "}"; + + // Struct default trait implementation + code_ += "impl std::default::Default for {{STRUCT_OTY}} {"; + code_ += " fn default() -> Self {"; + code_ += " Self {"; + ForAllStructFields(struct_def, [&](const FieldDef &field) { + const Type &type = field.value.type; + if (IsArray(type)) { + code_ += " {{FIELD}}: [Default::default(); " + NumToString(type.fixed_length) + "],"; + } else { + code_ += " {{FIELD}}: Default::default(),"; + } + }); + code_ += " }"; + code_ += " }"; + code_ += "}"; + // The `pack` method that turns the native struct into its Flatbuffers // counterpart. code_ += "impl {{STRUCT_OTY}} {"; From b78e10d9f7fc7e3caf66b2ef0a774ac28ac7fea8 Mon Sep 17 00:00:00 2001 From: jsu Date: Thu, 24 Apr 2025 16:23:08 +0200 Subject: [PATCH 2/3] Generated examples --- .../my_game/sample/vec_3_generated.rs | 11 ++++++++++- .../my_game/example/array_struct_generated.rs | 14 +++++++++++++- .../my_game/example/nested_struct_generated.rs | 12 +++++++++++- .../my_game/other_name_space/unused_generated.rs | 9 ++++++++- .../my_game/other_name_space/unused_generated.rs | 9 ++++++++- .../my_game/example/ability_generated.rs | 10 +++++++++- .../my_game/example/struct_of_structs_generated.rs | 11 ++++++++++- .../struct_of_structs_of_structs_generated.rs | 9 ++++++++- .../monster_test/my_game/example/test_generated.rs | 10 +++++++++- .../my_game/example/vec_3_generated.rs | 14 +++++++++++++- .../my_game/other_name_space/unused_generated.rs | 9 ++++++++- .../my_game/example/ability_generated.rs | 10 +++++++++- .../my_game/example/struct_of_structs_generated.rs | 11 ++++++++++- .../struct_of_structs_of_structs_generated.rs | 9 ++++++++- .../my_game/example/test_generated.rs | 10 +++++++++- .../my_game/example/vec_3_generated.rs | 14 +++++++++++++- .../my_game/other_name_space/unused_generated.rs | 9 ++++++++- .../namespace_b/struct_in_nested_ns_generated.rs | 10 +++++++++- tests/private_annotation_test/object_generated.rs | 9 ++++++++- .../possibly_reserved_words_generated.rs | 12 +++++++++++- 20 files changed, 192 insertions(+), 20 deletions(-) diff --git a/samples/rust_generated/my_game/sample/vec_3_generated.rs b/samples/rust_generated/my_game/sample/vec_3_generated.rs index bc5e52a6751..5e9cd0ff60b 100644 --- a/samples/rust_generated/my_game/sample/vec_3_generated.rs +++ b/samples/rust_generated/my_game/sample/vec_3_generated.rs @@ -180,12 +180,21 @@ impl<'a> Vec3 { } } -#[derive(Debug, Clone, PartialEq, Default)] +#[derive(Debug, Copy, Clone, PartialEq)] pub struct Vec3T { pub x: f32, pub y: f32, pub z: f32, } +impl std::default::Default for Vec3T { + fn default() -> Self { + Self { + x: Default::default(), + y: Default::default(), + z: Default::default(), + } + } +} impl Vec3T { pub fn pack(&self) -> Vec3 { Vec3::new( diff --git a/tests/arrays_test/my_game/example/array_struct_generated.rs b/tests/arrays_test/my_game/example/array_struct_generated.rs index 65c7ca6cfcf..e642056d643 100644 --- a/tests/arrays_test/my_game/example/array_struct_generated.rs +++ b/tests/arrays_test/my_game/example/array_struct_generated.rs @@ -240,7 +240,7 @@ impl<'a> ArrayStruct { } } -#[derive(Debug, Clone, PartialEq, Default)] +#[derive(Debug, Copy, Clone, PartialEq)] pub struct ArrayStructT { pub a: f32, pub b: [i32; 15], @@ -249,6 +249,18 @@ pub struct ArrayStructT { pub e: i32, pub f: [i64; 2], } +impl std::default::Default for ArrayStructT { + fn default() -> Self { + Self { + a: Default::default(), + b: [Default::default(); 15], + c: Default::default(), + d: [Default::default(); 2], + e: Default::default(), + f: [Default::default(); 2], + } + } +} impl ArrayStructT { pub fn pack(&self) -> ArrayStruct { ArrayStruct::new( diff --git a/tests/arrays_test/my_game/example/nested_struct_generated.rs b/tests/arrays_test/my_game/example/nested_struct_generated.rs index 0015f228260..63bdcec447b 100644 --- a/tests/arrays_test/my_game/example/nested_struct_generated.rs +++ b/tests/arrays_test/my_game/example/nested_struct_generated.rs @@ -174,13 +174,23 @@ impl<'a> NestedStruct { } } -#[derive(Debug, Clone, PartialEq, Default)] +#[derive(Debug, Copy, Clone, PartialEq)] pub struct NestedStructT { pub a: [i32; 2], pub b: TestEnum, pub c: [TestEnum; 2], pub d: [i64; 2], } +impl std::default::Default for NestedStructT { + fn default() -> Self { + Self { + a: [Default::default(); 2], + b: Default::default(), + c: [Default::default(); 2], + d: [Default::default(); 2], + } + } +} impl NestedStructT { pub fn pack(&self) -> NestedStruct { NestedStruct::new( diff --git a/tests/include_test1/my_game/other_name_space/unused_generated.rs b/tests/include_test1/my_game/other_name_space/unused_generated.rs index 11af62f073b..a6429aef1d1 100644 --- a/tests/include_test1/my_game/other_name_space/unused_generated.rs +++ b/tests/include_test1/my_game/other_name_space/unused_generated.rs @@ -114,10 +114,17 @@ impl<'a> Unused { } } -#[derive(Debug, Clone, PartialEq, Default)] +#[derive(Debug, Copy, Clone, PartialEq)] pub struct UnusedT { pub a: i32, } +impl std::default::Default for UnusedT { + fn default() -> Self { + Self { + a: Default::default(), + } + } +} impl UnusedT { pub fn pack(&self) -> Unused { Unused::new( diff --git a/tests/include_test2/my_game/other_name_space/unused_generated.rs b/tests/include_test2/my_game/other_name_space/unused_generated.rs index 11af62f073b..a6429aef1d1 100644 --- a/tests/include_test2/my_game/other_name_space/unused_generated.rs +++ b/tests/include_test2/my_game/other_name_space/unused_generated.rs @@ -114,10 +114,17 @@ impl<'a> Unused { } } -#[derive(Debug, Clone, PartialEq, Default)] +#[derive(Debug, Copy, Clone, PartialEq)] pub struct UnusedT { pub a: i32, } +impl std::default::Default for UnusedT { + fn default() -> Self { + Self { + a: Default::default(), + } + } +} impl UnusedT { pub fn pack(&self) -> Unused { Unused::new( diff --git a/tests/monster_test/my_game/example/ability_generated.rs b/tests/monster_test/my_game/example/ability_generated.rs index 0cef974d6ef..ed395e10f08 100644 --- a/tests/monster_test/my_game/example/ability_generated.rs +++ b/tests/monster_test/my_game/example/ability_generated.rs @@ -157,11 +157,19 @@ impl<'a> Ability { } } -#[derive(Debug, Clone, PartialEq, Default)] +#[derive(Debug, Copy, Clone, PartialEq)] pub struct AbilityT { pub id: u32, pub distance: u32, } +impl std::default::Default for AbilityT { + fn default() -> Self { + Self { + id: Default::default(), + distance: Default::default(), + } + } +} impl AbilityT { pub fn pack(&self) -> Ability { Ability::new( diff --git a/tests/monster_test/my_game/example/struct_of_structs_generated.rs b/tests/monster_test/my_game/example/struct_of_structs_generated.rs index 675a846cd70..8dfcea63fa9 100644 --- a/tests/monster_test/my_game/example/struct_of_structs_generated.rs +++ b/tests/monster_test/my_game/example/struct_of_structs_generated.rs @@ -129,12 +129,21 @@ impl<'a> StructOfStructs { } } -#[derive(Debug, Clone, PartialEq, Default)] +#[derive(Debug, Copy, Clone, PartialEq)] pub struct StructOfStructsT { pub a: AbilityT, pub b: TestT, pub c: AbilityT, } +impl std::default::Default for StructOfStructsT { + fn default() -> Self { + Self { + a: Default::default(), + b: Default::default(), + c: Default::default(), + } + } +} impl StructOfStructsT { pub fn pack(&self) -> StructOfStructs { StructOfStructs::new( diff --git a/tests/monster_test/my_game/example/struct_of_structs_of_structs_generated.rs b/tests/monster_test/my_game/example/struct_of_structs_of_structs_generated.rs index 3eaa7055638..2808c1c81b7 100644 --- a/tests/monster_test/my_game/example/struct_of_structs_of_structs_generated.rs +++ b/tests/monster_test/my_game/example/struct_of_structs_of_structs_generated.rs @@ -97,10 +97,17 @@ impl<'a> StructOfStructsOfStructs { } } -#[derive(Debug, Clone, PartialEq, Default)] +#[derive(Debug, Copy, Clone, PartialEq)] pub struct StructOfStructsOfStructsT { pub a: StructOfStructsT, } +impl std::default::Default for StructOfStructsOfStructsT { + fn default() -> Self { + Self { + a: Default::default(), + } + } +} impl StructOfStructsOfStructsT { pub fn pack(&self) -> StructOfStructsOfStructs { StructOfStructsOfStructs::new( diff --git a/tests/monster_test/my_game/example/test_generated.rs b/tests/monster_test/my_game/example/test_generated.rs index 65ef25031d3..3d92ba9aeec 100644 --- a/tests/monster_test/my_game/example/test_generated.rs +++ b/tests/monster_test/my_game/example/test_generated.rs @@ -147,11 +147,19 @@ impl<'a> Test { } } -#[derive(Debug, Clone, PartialEq, Default)] +#[derive(Debug, Copy, Clone, PartialEq)] pub struct TestT { pub a: i16, pub b: i8, } +impl std::default::Default for TestT { + fn default() -> Self { + Self { + a: Default::default(), + b: Default::default(), + } + } +} impl TestT { pub fn pack(&self) -> Test { Test::new( diff --git a/tests/monster_test/my_game/example/vec_3_generated.rs b/tests/monster_test/my_game/example/vec_3_generated.rs index 8aebab50a2c..6a26516b446 100644 --- a/tests/monster_test/my_game/example/vec_3_generated.rs +++ b/tests/monster_test/my_game/example/vec_3_generated.rs @@ -262,7 +262,7 @@ impl<'a> Vec3 { } } -#[derive(Debug, Clone, PartialEq, Default)] +#[derive(Debug, Copy, Clone, PartialEq)] pub struct Vec3T { pub x: f32, pub y: f32, @@ -271,6 +271,18 @@ pub struct Vec3T { pub test2: Color, pub test3: TestT, } +impl std::default::Default for Vec3T { + fn default() -> Self { + Self { + x: Default::default(), + y: Default::default(), + z: Default::default(), + test1: Default::default(), + test2: Default::default(), + test3: Default::default(), + } + } +} impl Vec3T { pub fn pack(&self) -> Vec3 { Vec3::new( diff --git a/tests/monster_test/my_game/other_name_space/unused_generated.rs b/tests/monster_test/my_game/other_name_space/unused_generated.rs index 11af62f073b..a6429aef1d1 100644 --- a/tests/monster_test/my_game/other_name_space/unused_generated.rs +++ b/tests/monster_test/my_game/other_name_space/unused_generated.rs @@ -114,10 +114,17 @@ impl<'a> Unused { } } -#[derive(Debug, Clone, PartialEq, Default)] +#[derive(Debug, Copy, Clone, PartialEq)] pub struct UnusedT { pub a: i32, } +impl std::default::Default for UnusedT { + fn default() -> Self { + Self { + a: Default::default(), + } + } +} impl UnusedT { pub fn pack(&self) -> Unused { Unused::new( diff --git a/tests/monster_test_serialize/my_game/example/ability_generated.rs b/tests/monster_test_serialize/my_game/example/ability_generated.rs index 88f380206c1..c243c51ba3b 100644 --- a/tests/monster_test_serialize/my_game/example/ability_generated.rs +++ b/tests/monster_test_serialize/my_game/example/ability_generated.rs @@ -171,11 +171,19 @@ impl<'a> Ability { } } -#[derive(Debug, Clone, PartialEq, Default)] +#[derive(Debug, Copy, Clone, PartialEq)] pub struct AbilityT { pub id: u32, pub distance: u32, } +impl std::default::Default for AbilityT { + fn default() -> Self { + Self { + id: Default::default(), + distance: Default::default(), + } + } +} impl AbilityT { pub fn pack(&self) -> Ability { Ability::new( diff --git a/tests/monster_test_serialize/my_game/example/struct_of_structs_generated.rs b/tests/monster_test_serialize/my_game/example/struct_of_structs_generated.rs index e524059f807..df31f099ef6 100644 --- a/tests/monster_test_serialize/my_game/example/struct_of_structs_generated.rs +++ b/tests/monster_test_serialize/my_game/example/struct_of_structs_generated.rs @@ -144,12 +144,21 @@ impl<'a> StructOfStructs { } } -#[derive(Debug, Clone, PartialEq, Default)] +#[derive(Debug, Copy, Clone, PartialEq)] pub struct StructOfStructsT { pub a: AbilityT, pub b: TestT, pub c: AbilityT, } +impl std::default::Default for StructOfStructsT { + fn default() -> Self { + Self { + a: Default::default(), + b: Default::default(), + c: Default::default(), + } + } +} impl StructOfStructsT { pub fn pack(&self) -> StructOfStructs { StructOfStructs::new( diff --git a/tests/monster_test_serialize/my_game/example/struct_of_structs_of_structs_generated.rs b/tests/monster_test_serialize/my_game/example/struct_of_structs_of_structs_generated.rs index b7fd8cd7cf9..fbec735712f 100644 --- a/tests/monster_test_serialize/my_game/example/struct_of_structs_of_structs_generated.rs +++ b/tests/monster_test_serialize/my_game/example/struct_of_structs_of_structs_generated.rs @@ -110,10 +110,17 @@ impl<'a> StructOfStructsOfStructs { } } -#[derive(Debug, Clone, PartialEq, Default)] +#[derive(Debug, Copy, Clone, PartialEq)] pub struct StructOfStructsOfStructsT { pub a: StructOfStructsT, } +impl std::default::Default for StructOfStructsOfStructsT { + fn default() -> Self { + Self { + a: Default::default(), + } + } +} impl StructOfStructsOfStructsT { pub fn pack(&self) -> StructOfStructsOfStructs { StructOfStructsOfStructs::new( diff --git a/tests/monster_test_serialize/my_game/example/test_generated.rs b/tests/monster_test_serialize/my_game/example/test_generated.rs index 0a0a48c7dbe..fa3f05c82ad 100644 --- a/tests/monster_test_serialize/my_game/example/test_generated.rs +++ b/tests/monster_test_serialize/my_game/example/test_generated.rs @@ -161,11 +161,19 @@ impl<'a> Test { } } -#[derive(Debug, Clone, PartialEq, Default)] +#[derive(Debug, Copy, Clone, PartialEq)] pub struct TestT { pub a: i16, pub b: i8, } +impl std::default::Default for TestT { + fn default() -> Self { + Self { + a: Default::default(), + b: Default::default(), + } + } +} impl TestT { pub fn pack(&self) -> Test { Test::new( diff --git a/tests/monster_test_serialize/my_game/example/vec_3_generated.rs b/tests/monster_test_serialize/my_game/example/vec_3_generated.rs index e4ff8f2a2a7..0c37995c85f 100644 --- a/tests/monster_test_serialize/my_game/example/vec_3_generated.rs +++ b/tests/monster_test_serialize/my_game/example/vec_3_generated.rs @@ -280,7 +280,7 @@ impl<'a> Vec3 { } } -#[derive(Debug, Clone, PartialEq, Default)] +#[derive(Debug, Copy, Clone, PartialEq)] pub struct Vec3T { pub x: f32, pub y: f32, @@ -289,6 +289,18 @@ pub struct Vec3T { pub test2: Color, pub test3: TestT, } +impl std::default::Default for Vec3T { + fn default() -> Self { + Self { + x: Default::default(), + y: Default::default(), + z: Default::default(), + test1: Default::default(), + test2: Default::default(), + test3: Default::default(), + } + } +} impl Vec3T { pub fn pack(&self) -> Vec3 { Vec3::new( diff --git a/tests/monster_test_serialize/my_game/other_name_space/unused_generated.rs b/tests/monster_test_serialize/my_game/other_name_space/unused_generated.rs index c89fab4ef78..c4d17bbf594 100644 --- a/tests/monster_test_serialize/my_game/other_name_space/unused_generated.rs +++ b/tests/monster_test_serialize/my_game/other_name_space/unused_generated.rs @@ -127,10 +127,17 @@ impl<'a> Unused { } } -#[derive(Debug, Clone, PartialEq, Default)] +#[derive(Debug, Copy, Clone, PartialEq)] pub struct UnusedT { pub a: i32, } +impl std::default::Default for UnusedT { + fn default() -> Self { + Self { + a: Default::default(), + } + } +} impl UnusedT { pub fn pack(&self) -> Unused { Unused::new( diff --git a/tests/namespace_test/namespace_a/namespace_b/struct_in_nested_ns_generated.rs b/tests/namespace_test/namespace_a/namespace_b/struct_in_nested_ns_generated.rs index db22105b8e7..1b056dfb5b1 100644 --- a/tests/namespace_test/namespace_a/namespace_b/struct_in_nested_ns_generated.rs +++ b/tests/namespace_test/namespace_a/namespace_b/struct_in_nested_ns_generated.rs @@ -147,11 +147,19 @@ impl<'a> StructInNestedNS { } } -#[derive(Debug, Clone, PartialEq, Default)] +#[derive(Debug, Copy, Clone, PartialEq)] pub struct StructInNestedNST { pub a: i32, pub b: i32, } +impl std::default::Default for StructInNestedNST { + fn default() -> Self { + Self { + a: Default::default(), + b: Default::default(), + } + } +} impl StructInNestedNST { pub fn pack(&self) -> StructInNestedNS { StructInNestedNS::new( diff --git a/tests/private_annotation_test/object_generated.rs b/tests/private_annotation_test/object_generated.rs index 382b0e42e92..f9f782b3596 100644 --- a/tests/private_annotation_test/object_generated.rs +++ b/tests/private_annotation_test/object_generated.rs @@ -114,10 +114,17 @@ impl<'a> Object { } } -#[derive(Debug, Clone, PartialEq, Default)] +#[derive(Debug, Copy, Clone, PartialEq)] pub(crate) struct ObjectT { pub value: i32, } +impl std::default::Default for ObjectT { + fn default() -> Self { + Self { + value: Default::default(), + } + } +} impl ObjectT { pub fn pack(&self) -> Object { Object::new( diff --git a/tests/rust_namer_test/rust_namer_test/possibly_reserved_words_generated.rs b/tests/rust_namer_test/rust_namer_test/possibly_reserved_words_generated.rs index 3c21e0803ba..7ad44dc2968 100644 --- a/tests/rust_namer_test/rust_namer_test/possibly_reserved_words_generated.rs +++ b/tests/rust_namer_test/rust_namer_test/possibly_reserved_words_generated.rs @@ -213,13 +213,23 @@ impl<'a> PossiblyReservedWords { } } -#[derive(Debug, Clone, PartialEq, Default)] +#[derive(Debug, Copy, Clone, PartialEq)] pub struct PossiblyReservedWordsT { pub follow_: f32, pub push_: f32, pub size: f32, pub alignment: f32, } +impl std::default::Default for PossiblyReservedWordsT { + fn default() -> Self { + Self { + follow_: Default::default(), + push_: Default::default(), + size: Default::default(), + alignment: Default::default(), + } + } +} impl PossiblyReservedWordsT { pub fn pack(&self) -> PossiblyReservedWords { PossiblyReservedWords::new( From e27f0ecd27aa40efb5ce19b0daf08688ff9dbf1d Mon Sep 17 00:00:00 2001 From: JSU Date: Fri, 25 Apr 2025 09:14:30 +0200 Subject: [PATCH 3/3] Copy trait deleted --- samples/rust_generated/my_game/sample/vec_3_generated.rs | 2 +- src/idl_gen_rust.cpp | 2 +- tests/arrays_test/my_game/example/array_struct_generated.rs | 2 +- tests/arrays_test/my_game/example/nested_struct_generated.rs | 2 +- .../include_test1/my_game/other_name_space/unused_generated.rs | 2 +- .../include_test2/my_game/other_name_space/unused_generated.rs | 2 +- tests/monster_test/my_game/example/ability_generated.rs | 2 +- .../monster_test/my_game/example/struct_of_structs_generated.rs | 2 +- .../my_game/example/struct_of_structs_of_structs_generated.rs | 2 +- tests/monster_test/my_game/example/test_generated.rs | 2 +- tests/monster_test/my_game/example/vec_3_generated.rs | 2 +- tests/monster_test/my_game/other_name_space/unused_generated.rs | 2 +- .../monster_test_serialize/my_game/example/ability_generated.rs | 2 +- .../my_game/example/struct_of_structs_generated.rs | 2 +- .../my_game/example/struct_of_structs_of_structs_generated.rs | 2 +- tests/monster_test_serialize/my_game/example/test_generated.rs | 2 +- tests/monster_test_serialize/my_game/example/vec_3_generated.rs | 2 +- .../my_game/other_name_space/unused_generated.rs | 2 +- .../namespace_a/namespace_b/struct_in_nested_ns_generated.rs | 2 +- tests/private_annotation_test/object_generated.rs | 2 +- .../rust_namer_test/possibly_reserved_words_generated.rs | 2 +- 21 files changed, 21 insertions(+), 21 deletions(-) diff --git a/samples/rust_generated/my_game/sample/vec_3_generated.rs b/samples/rust_generated/my_game/sample/vec_3_generated.rs index 5e9cd0ff60b..b232090fa6b 100644 --- a/samples/rust_generated/my_game/sample/vec_3_generated.rs +++ b/samples/rust_generated/my_game/sample/vec_3_generated.rs @@ -180,7 +180,7 @@ impl<'a> Vec3 { } } -#[derive(Debug, Copy, Clone, PartialEq)] +#[derive(Debug, Clone, PartialEq)] pub struct Vec3T { pub x: f32, pub y: f32, diff --git a/src/idl_gen_rust.cpp b/src/idl_gen_rust.cpp index f1463ddd16a..a57b81e16cf 100644 --- a/src/idl_gen_rust.cpp +++ b/src/idl_gen_rust.cpp @@ -2884,7 +2884,7 @@ class RustGenerator : public BaseGenerator { // Generate Struct Object. if (parser_.opts.generate_object_based_api) { // Struct declaration - code_ += "#[derive(Debug, Copy, Clone, PartialEq)]"; + code_ += "#[derive(Debug, Clone, PartialEq)]"; code_ += "{{ACCESS_TYPE}} struct {{STRUCT_OTY}} {"; ForAllStructFields(struct_def, [&](const FieldDef &field) { (void)field; // unused. diff --git a/tests/arrays_test/my_game/example/array_struct_generated.rs b/tests/arrays_test/my_game/example/array_struct_generated.rs index e642056d643..9bba10ad98e 100644 --- a/tests/arrays_test/my_game/example/array_struct_generated.rs +++ b/tests/arrays_test/my_game/example/array_struct_generated.rs @@ -240,7 +240,7 @@ impl<'a> ArrayStruct { } } -#[derive(Debug, Copy, Clone, PartialEq)] +#[derive(Debug, Clone, PartialEq)] pub struct ArrayStructT { pub a: f32, pub b: [i32; 15], diff --git a/tests/arrays_test/my_game/example/nested_struct_generated.rs b/tests/arrays_test/my_game/example/nested_struct_generated.rs index 63bdcec447b..b8f32824c8e 100644 --- a/tests/arrays_test/my_game/example/nested_struct_generated.rs +++ b/tests/arrays_test/my_game/example/nested_struct_generated.rs @@ -174,7 +174,7 @@ impl<'a> NestedStruct { } } -#[derive(Debug, Copy, Clone, PartialEq)] +#[derive(Debug, Clone, PartialEq)] pub struct NestedStructT { pub a: [i32; 2], pub b: TestEnum, diff --git a/tests/include_test1/my_game/other_name_space/unused_generated.rs b/tests/include_test1/my_game/other_name_space/unused_generated.rs index a6429aef1d1..6ec8b2aaecc 100644 --- a/tests/include_test1/my_game/other_name_space/unused_generated.rs +++ b/tests/include_test1/my_game/other_name_space/unused_generated.rs @@ -114,7 +114,7 @@ impl<'a> Unused { } } -#[derive(Debug, Copy, Clone, PartialEq)] +#[derive(Debug, Clone, PartialEq)] pub struct UnusedT { pub a: i32, } diff --git a/tests/include_test2/my_game/other_name_space/unused_generated.rs b/tests/include_test2/my_game/other_name_space/unused_generated.rs index a6429aef1d1..6ec8b2aaecc 100644 --- a/tests/include_test2/my_game/other_name_space/unused_generated.rs +++ b/tests/include_test2/my_game/other_name_space/unused_generated.rs @@ -114,7 +114,7 @@ impl<'a> Unused { } } -#[derive(Debug, Copy, Clone, PartialEq)] +#[derive(Debug, Clone, PartialEq)] pub struct UnusedT { pub a: i32, } diff --git a/tests/monster_test/my_game/example/ability_generated.rs b/tests/monster_test/my_game/example/ability_generated.rs index ed395e10f08..90577f9674e 100644 --- a/tests/monster_test/my_game/example/ability_generated.rs +++ b/tests/monster_test/my_game/example/ability_generated.rs @@ -157,7 +157,7 @@ impl<'a> Ability { } } -#[derive(Debug, Copy, Clone, PartialEq)] +#[derive(Debug, Clone, PartialEq)] pub struct AbilityT { pub id: u32, pub distance: u32, diff --git a/tests/monster_test/my_game/example/struct_of_structs_generated.rs b/tests/monster_test/my_game/example/struct_of_structs_generated.rs index 8dfcea63fa9..9f7ba199902 100644 --- a/tests/monster_test/my_game/example/struct_of_structs_generated.rs +++ b/tests/monster_test/my_game/example/struct_of_structs_generated.rs @@ -129,7 +129,7 @@ impl<'a> StructOfStructs { } } -#[derive(Debug, Copy, Clone, PartialEq)] +#[derive(Debug, Clone, PartialEq)] pub struct StructOfStructsT { pub a: AbilityT, pub b: TestT, diff --git a/tests/monster_test/my_game/example/struct_of_structs_of_structs_generated.rs b/tests/monster_test/my_game/example/struct_of_structs_of_structs_generated.rs index 2808c1c81b7..20121f9ebec 100644 --- a/tests/monster_test/my_game/example/struct_of_structs_of_structs_generated.rs +++ b/tests/monster_test/my_game/example/struct_of_structs_of_structs_generated.rs @@ -97,7 +97,7 @@ impl<'a> StructOfStructsOfStructs { } } -#[derive(Debug, Copy, Clone, PartialEq)] +#[derive(Debug, Clone, PartialEq)] pub struct StructOfStructsOfStructsT { pub a: StructOfStructsT, } diff --git a/tests/monster_test/my_game/example/test_generated.rs b/tests/monster_test/my_game/example/test_generated.rs index 3d92ba9aeec..7372b82e563 100644 --- a/tests/monster_test/my_game/example/test_generated.rs +++ b/tests/monster_test/my_game/example/test_generated.rs @@ -147,7 +147,7 @@ impl<'a> Test { } } -#[derive(Debug, Copy, Clone, PartialEq)] +#[derive(Debug, Clone, PartialEq)] pub struct TestT { pub a: i16, pub b: i8, diff --git a/tests/monster_test/my_game/example/vec_3_generated.rs b/tests/monster_test/my_game/example/vec_3_generated.rs index 6a26516b446..203871df381 100644 --- a/tests/monster_test/my_game/example/vec_3_generated.rs +++ b/tests/monster_test/my_game/example/vec_3_generated.rs @@ -262,7 +262,7 @@ impl<'a> Vec3 { } } -#[derive(Debug, Copy, Clone, PartialEq)] +#[derive(Debug, Clone, PartialEq)] pub struct Vec3T { pub x: f32, pub y: f32, diff --git a/tests/monster_test/my_game/other_name_space/unused_generated.rs b/tests/monster_test/my_game/other_name_space/unused_generated.rs index a6429aef1d1..6ec8b2aaecc 100644 --- a/tests/monster_test/my_game/other_name_space/unused_generated.rs +++ b/tests/monster_test/my_game/other_name_space/unused_generated.rs @@ -114,7 +114,7 @@ impl<'a> Unused { } } -#[derive(Debug, Copy, Clone, PartialEq)] +#[derive(Debug, Clone, PartialEq)] pub struct UnusedT { pub a: i32, } diff --git a/tests/monster_test_serialize/my_game/example/ability_generated.rs b/tests/monster_test_serialize/my_game/example/ability_generated.rs index c243c51ba3b..e3cb0e08f36 100644 --- a/tests/monster_test_serialize/my_game/example/ability_generated.rs +++ b/tests/monster_test_serialize/my_game/example/ability_generated.rs @@ -171,7 +171,7 @@ impl<'a> Ability { } } -#[derive(Debug, Copy, Clone, PartialEq)] +#[derive(Debug, Clone, PartialEq)] pub struct AbilityT { pub id: u32, pub distance: u32, diff --git a/tests/monster_test_serialize/my_game/example/struct_of_structs_generated.rs b/tests/monster_test_serialize/my_game/example/struct_of_structs_generated.rs index df31f099ef6..d30a3898223 100644 --- a/tests/monster_test_serialize/my_game/example/struct_of_structs_generated.rs +++ b/tests/monster_test_serialize/my_game/example/struct_of_structs_generated.rs @@ -144,7 +144,7 @@ impl<'a> StructOfStructs { } } -#[derive(Debug, Copy, Clone, PartialEq)] +#[derive(Debug, Clone, PartialEq)] pub struct StructOfStructsT { pub a: AbilityT, pub b: TestT, diff --git a/tests/monster_test_serialize/my_game/example/struct_of_structs_of_structs_generated.rs b/tests/monster_test_serialize/my_game/example/struct_of_structs_of_structs_generated.rs index fbec735712f..e4b2b991019 100644 --- a/tests/monster_test_serialize/my_game/example/struct_of_structs_of_structs_generated.rs +++ b/tests/monster_test_serialize/my_game/example/struct_of_structs_of_structs_generated.rs @@ -110,7 +110,7 @@ impl<'a> StructOfStructsOfStructs { } } -#[derive(Debug, Copy, Clone, PartialEq)] +#[derive(Debug, Clone, PartialEq)] pub struct StructOfStructsOfStructsT { pub a: StructOfStructsT, } diff --git a/tests/monster_test_serialize/my_game/example/test_generated.rs b/tests/monster_test_serialize/my_game/example/test_generated.rs index fa3f05c82ad..eb8c699a844 100644 --- a/tests/monster_test_serialize/my_game/example/test_generated.rs +++ b/tests/monster_test_serialize/my_game/example/test_generated.rs @@ -161,7 +161,7 @@ impl<'a> Test { } } -#[derive(Debug, Copy, Clone, PartialEq)] +#[derive(Debug, Clone, PartialEq)] pub struct TestT { pub a: i16, pub b: i8, diff --git a/tests/monster_test_serialize/my_game/example/vec_3_generated.rs b/tests/monster_test_serialize/my_game/example/vec_3_generated.rs index 0c37995c85f..a67baef534d 100644 --- a/tests/monster_test_serialize/my_game/example/vec_3_generated.rs +++ b/tests/monster_test_serialize/my_game/example/vec_3_generated.rs @@ -280,7 +280,7 @@ impl<'a> Vec3 { } } -#[derive(Debug, Copy, Clone, PartialEq)] +#[derive(Debug, Clone, PartialEq)] pub struct Vec3T { pub x: f32, pub y: f32, diff --git a/tests/monster_test_serialize/my_game/other_name_space/unused_generated.rs b/tests/monster_test_serialize/my_game/other_name_space/unused_generated.rs index c4d17bbf594..11efa68e49c 100644 --- a/tests/monster_test_serialize/my_game/other_name_space/unused_generated.rs +++ b/tests/monster_test_serialize/my_game/other_name_space/unused_generated.rs @@ -127,7 +127,7 @@ impl<'a> Unused { } } -#[derive(Debug, Copy, Clone, PartialEq)] +#[derive(Debug, Clone, PartialEq)] pub struct UnusedT { pub a: i32, } diff --git a/tests/namespace_test/namespace_a/namespace_b/struct_in_nested_ns_generated.rs b/tests/namespace_test/namespace_a/namespace_b/struct_in_nested_ns_generated.rs index 1b056dfb5b1..74ad12d2f51 100644 --- a/tests/namespace_test/namespace_a/namespace_b/struct_in_nested_ns_generated.rs +++ b/tests/namespace_test/namespace_a/namespace_b/struct_in_nested_ns_generated.rs @@ -147,7 +147,7 @@ impl<'a> StructInNestedNS { } } -#[derive(Debug, Copy, Clone, PartialEq)] +#[derive(Debug, Clone, PartialEq)] pub struct StructInNestedNST { pub a: i32, pub b: i32, diff --git a/tests/private_annotation_test/object_generated.rs b/tests/private_annotation_test/object_generated.rs index f9f782b3596..858ca65bf7f 100644 --- a/tests/private_annotation_test/object_generated.rs +++ b/tests/private_annotation_test/object_generated.rs @@ -114,7 +114,7 @@ impl<'a> Object { } } -#[derive(Debug, Copy, Clone, PartialEq)] +#[derive(Debug, Clone, PartialEq)] pub(crate) struct ObjectT { pub value: i32, } diff --git a/tests/rust_namer_test/rust_namer_test/possibly_reserved_words_generated.rs b/tests/rust_namer_test/rust_namer_test/possibly_reserved_words_generated.rs index 7ad44dc2968..6432176d574 100644 --- a/tests/rust_namer_test/rust_namer_test/possibly_reserved_words_generated.rs +++ b/tests/rust_namer_test/rust_namer_test/possibly_reserved_words_generated.rs @@ -213,7 +213,7 @@ impl<'a> PossiblyReservedWords { } } -#[derive(Debug, Copy, Clone, PartialEq)] +#[derive(Debug, Clone, PartialEq)] pub struct PossiblyReservedWordsT { pub follow_: f32, pub push_: f32,