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/gen | |
| parent | 68efffb46ade1393c6412109dabf89a7c6d135e2 (diff) | |
Support sums in rust-transient-0
Diffstat (limited to 'examples/10-transient-0/output/rust/src/gen')
| -rw-r--r-- | examples/10-transient-0/output/rust/src/gen/data/transient_0.rs | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/examples/10-transient-0/output/rust/src/gen/data/transient_0.rs b/examples/10-transient-0/output/rust/src/gen/data/transient_0.rs index fbfc82d..0ea3f6f 100644 --- a/examples/10-transient-0/output/rust/src/gen/data/transient_0.rs +++ b/examples/10-transient-0/output/rust/src/gen/data/transient_0.rs @@ -170,6 +170,36 @@ pub fn decode_enum_with_variants(reader: &mut impl std::io::Read) -> ::std::io:: }) } +pub fn encode_sum_with_variants(value: &crate::data::SumWithVariants, writer: &mut impl std::io::Write) -> ::std::io::Result::<()> { + match value { + crate::data::SumWithVariants::VariantOne(value) => { + { + crate::transient_0::encode_int_32(&0, writer)?; + }; + { + crate::data::transient_0::encode_variant_one(value, writer)?; + }; + }, + crate::data::SumWithVariants::VariantTwo(value) => { + { + crate::transient_0::encode_int_32(&1, writer)?; + }; + { + crate::data::transient_0::encode_variant_two(value, writer)?; + }; + }, + }; + ::std::io::Result::Ok(()) +} + +pub fn decode_sum_with_variants(reader: &mut impl std::io::Read) -> ::std::io::Result::<crate::data::SumWithVariants> { + std::io::Result::Ok(match &crate::transient_0::decode_int_32(reader)? { + 0 => crate::data::SumWithVariants::VariantOne(crate::data::transient_0::decode_variant_one(reader)?), + 1 => crate::data::SumWithVariants::VariantTwo(crate::data::transient_0::decode_variant_two(reader)?), + _ => todo!(), + }) +} + pub fn encode_variant_one(value: &crate::data::VariantOne, writer: &mut impl std::io::Write) -> ::std::io::Result::<()> { crate::transient_0::encode_int_32(&value.a, writer)?; ::std::io::Result::Ok(()) |
