diff options
| author | Michael Williamson <mike@zwobble.org> | 2026-07-19 21:41:55 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2026-07-19 21:41:55 +0100 |
| commit | c44f0e747f00ec71bd9c773bfea7d287e50ed77b (patch) | |
| tree | 9b162bbb31b5db33de0d0fa92b610c1019369cbc /examples/10-transient-0/output/rust/src/lib.rs | |
| parent | 68efffb46ade1393c6412109dabf89a7c6d135e2 (diff) | |
Support sums in rust-transient-0
Diffstat (limited to 'examples/10-transient-0/output/rust/src/lib.rs')
| -rw-r--r-- | examples/10-transient-0/output/rust/src/lib.rs | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/examples/10-transient-0/output/rust/src/lib.rs b/examples/10-transient-0/output/rust/src/lib.rs index c3da14c..3aa9751 100644 --- a/examples/10-transient-0/output/rust/src/lib.rs +++ b/examples/10-transient-0/output/rust/src/lib.rs @@ -4,7 +4,7 @@ pub mod transient_0; #[cfg(test)] mod test { use std::io::Cursor; - use super::data::{EnumWithVariants, InnerStruct, OuterStruct, StructWithBool, StructWithInt32, StructWithInt64, StructWithList, StructWithOption, StructWithString}; + use super::data::{EnumWithVariants, InnerStruct, OuterStruct, StructWithBool, StructWithInt32, StructWithInt64, StructWithList, StructWithOption, StructWithString, SumWithVariants, VariantOne, VariantTwo }; #[test] fn struct_with_bool() { @@ -128,6 +128,21 @@ mod test { ); } + #[test] + fn sum_with_variants() { + assert_round_trip_encoding( + SumWithVariants::VariantOne(VariantOne { a: 10 }), + super::data::transient_0::encode_sum_with_variants, + super::data::transient_0::decode_sum_with_variants, + ); + + assert_round_trip_encoding( + SumWithVariants::VariantTwo(VariantTwo { a: 25 }), + super::data::transient_0::encode_sum_with_variants, + super::data::transient_0::decode_sum_with_variants, + ); + } + fn assert_round_trip_encoding<T: std::cmp::PartialEq + std::fmt::Debug>( value: T, encode: impl Fn(&T, &mut Cursor<Vec<u8>>) -> std::io::Result<()>, |
