summaryrefslogtreecommitdiff
path: root/examples/10-transient-0/output/rust/src/gen
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/gen
parent68efffb46ade1393c6412109dabf89a7c6d135e2 (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.rs30
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(())