diff --git a/dds_gen/src/generator/rust.rs b/dds_gen/src/generator/rust.rs index 6b0d3856f..6d5fe48a1 100644 --- a/dds_gen/src/generator/rust.rs +++ b/dds_gen/src/generator/rust.rs @@ -309,7 +309,7 @@ fn enum_dcl(pair: IdlPair, writer: &mut String) { .clone() .find(|p| p.as_rule() == Rule::identifier) .expect("Must have an identifier according to the grammar"); - writer.push_str("#[derive(Debug)]\n"); + writer.push_str("#[derive(Debug, dust_dds::serialized_payload::cdr::deserialize::CdrDeserialize, dust_dds::serialized_payload::cdr::serialize::CdrSerialize)]\n"); writer.push_str("pub enum "); generate_rust_source(identifier, writer); writer.push('{'); @@ -893,7 +893,7 @@ mod tests { generate_rust_source(p, &mut out); println!("RESULT: {}", out); assert_eq!( - "#[derive(Debug)]\npub enum Suits{Spades,Hearts,Diamonds,Clubs,}", + "#[derive(Debug, dust_dds::serialized_payload::cdr::deserialize::CdrDeserialize, dust_dds::serialized_payload::cdr::serialize::CdrSerialize)]\npub enum Suits{Spades,Hearts,Diamonds,Clubs,}", &out ); } diff --git a/dds_gen/tests/basic_types.rs b/dds_gen/tests/basic_types.rs index 0846531f2..a4a7488cc 100644 --- a/dds_gen/tests/basic_types.rs +++ b/dds_gen/tests/basic_types.rs @@ -77,14 +77,14 @@ fn enums() { let expected = syn::parse2::( r#" - #[derive(Debug)] + #[derive(Debug, dust_dds::serialized_payload::cdr::deserialize::CdrDeserialize, dust_dds::serialized_payload::cdr::serialize::CdrSerialize)] pub enum Suits { Spades, Hearts, Diamonds, Clubs, } - #[derive(Debug)] + #[derive(Debug, dust_dds::serialized_payload::cdr::deserialize::CdrDeserialize, dust_dds::serialized_payload::cdr::serialize::CdrSerialize)] pub enum Direction { North, East, diff --git a/dds_gen/tests/structs.rs b/dds_gen/tests/structs.rs index 0bd9dad9b..3b3206f05 100644 --- a/dds_gen/tests/structs.rs +++ b/dds_gen/tests/structs.rs @@ -58,7 +58,7 @@ fn module_generation() { r#" pub mod Game { pub mod Chess { - #[derive(Debug)] + #[derive(Debug, dust_dds::serialized_payload::cdr::deserialize::CdrDeserialize, dust_dds::serialized_payload::cdr::serialize::CdrSerialize)] pub enum ChessPiece { Pawn, Rook, @@ -74,7 +74,7 @@ fn module_generation() { } } pub mod Cards { - #[derive(Debug)] + #[derive(Debug, dust_dds::serialized_payload::cdr::deserialize::CdrDeserialize, dust_dds::serialized_payload::cdr::serialize::CdrSerialize)] pub enum Suit { Spades, Hearts, @@ -111,7 +111,7 @@ fn nested_types() { let expected = syn::parse2::( r#" - #[derive(Debug)] + #[derive(Debug, dust_dds::serialized_payload::cdr::deserialize::CdrDeserialize, dust_dds::serialized_payload::cdr::serialize::CdrSerialize)] pub enum Presence { Present, NotPresent,