From 8639d5524a49e1785df751cc3bda34a3cf130644 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 22 Aug 2026 09:47:51 +0100 Subject: Add generic struct test to example --- examples/16-transient-0/output/rust/src/lib.rs | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'examples/16-transient-0/output/rust/src/lib.rs') diff --git a/examples/16-transient-0/output/rust/src/lib.rs b/examples/16-transient-0/output/rust/src/lib.rs index a51afff..670389a 100644 --- a/examples/16-transient-0/output/rust/src/lib.rs +++ b/examples/16-transient-0/output/rust/src/lib.rs @@ -8,7 +8,7 @@ mod test { use std::path::PathBuf; use std::sync::Arc; use std::collections::HashMap; - use super::data::{EnumWithVariants, GenericNative, Native, StructSingleton, StructWithBool, StructWithBox, StructWithDifferentSharedTypes, StructWithEnum, StructWithGenericNative, StructWithInt8, StructWithInt32, StructWithInt64, StructWithList, StructWithListOfShared, StructWithNative, StructWithOption, StructWithSharedSumAndVariant, StructWithString, StructWithStruct, StructWithSum, SumWithBoxedVariants, SumWithVariants, VariantOne, VariantTwo }; + use super::data::{EnumWithVariants, GenericNative, GenericStruct, Native, StructSingleton, StructWithBool, StructWithBox, StructWithDifferentSharedTypes, StructWithEnum, StructWithGenericNative, StructWithGenericStruct, StructWithInt8, StructWithInt32, StructWithInt64, StructWithList, StructWithListOfShared, StructWithNative, StructWithOption, StructWithSharedSumAndVariant, StructWithString, StructWithStruct, StructWithSum, SumWithBoxedVariants, SumWithVariants, VariantOne, VariantTwo }; #[test] fn struct_singleton() { @@ -94,6 +94,27 @@ mod test { ); } + #[test] + fn struct_with_generic_struct() { + let value = StructWithGenericStruct { + a: GenericStruct { a: 10, b: "x1".to_string() }, + b: GenericStruct { + a: Some("x2".to_string()), + b: GenericStruct { + a: Some("x3".to_string()), + b: GenericStruct { a: "x4".to_string(), b: "x5".to_string() }, + }, + }, + }; + + assert_round_trip_encoding( + "StructWithGenericStruct", + value, + super::data::transient_0::encode_struct_with_generic_struct, + super::data::transient_0::decode_struct_with_generic_struct, + ); + } + #[test] fn struct_with_list() { let value = StructWithList { -- cgit v1.2.3