summaryrefslogtreecommitdiff
path: root/examples/10-transient-0/output/rust/src/lib.rs
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-07-19 21:41:55 +0100
committerMichael Williamson <mike@zwobble.org>2026-07-19 21:41:55 +0100
commitc44f0e747f00ec71bd9c773bfea7d287e50ed77b (patch)
tree9b162bbb31b5db33de0d0fa92b610c1019369cbc /examples/10-transient-0/output/rust/src/lib.rs
parent68efffb46ade1393c6412109dabf89a7c6d135e2 (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.rs17
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<()>,