summaryrefslogtreecommitdiff
path: root/examples/13-transient-0/output/rust/src/gen/data
diff options
context:
space:
mode:
Diffstat (limited to 'examples/13-transient-0/output/rust/src/gen/data')
-rw-r--r--examples/13-transient-0/output/rust/src/gen/data/transient_0.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/examples/13-transient-0/output/rust/src/gen/data/transient_0.rs b/examples/13-transient-0/output/rust/src/gen/data/transient_0.rs
index 8bf68cb..f2bf149 100644
--- a/examples/13-transient-0/output/rust/src/gen/data/transient_0.rs
+++ b/examples/13-transient-0/output/rust/src/gen/data/transient_0.rs
@@ -230,6 +230,28 @@ pub fn decode_variant_two(reader: &mut impl std::io::Read, shared_values: &mut :
::std::io::Result::Ok(crate::data::VariantTwo { a: a })
}
+pub fn encode_sum_with_boxed_variants(value: &crate::data::SumWithBoxedVariants, writer: &mut impl std::io::Write, shared_values: &mut ::std::collections::HashMap::<::core::primitive::usize, ::core::primitive::i64>) -> ::std::io::Result::<()> {
+ match value {
+ crate::data::SumWithBoxedVariants::VariantOne(value) => {
+ crate::transient_0::encode_int_32(&0, writer, shared_values)?;
+ crate::data::transient_0::encode_variant_one(value, writer, shared_values)?;
+ },
+ crate::data::SumWithBoxedVariants::VariantTwo(value) => {
+ crate::transient_0::encode_int_32(&1, writer, shared_values)?;
+ crate::data::transient_0::encode_variant_two(value, writer, shared_values)?;
+ },
+ };
+ ::std::io::Result::Ok(())
+}
+
+pub fn decode_sum_with_boxed_variants(reader: &mut impl std::io::Read, shared_values: &mut ::std::vec::Vec::<::std::sync::Arc::<dyn ::std::any::Any + ::std::marker::Sync + ::std::marker::Send>>) -> ::std::io::Result::<crate::data::SumWithBoxedVariants> {
+ ::std::io::Result::Ok(match &crate::transient_0::decode_int_32(reader, shared_values)? {
+ 0 => crate::data::SumWithBoxedVariants::VariantOne(::std::boxed::Box::new(crate::data::transient_0::decode_variant_one(reader, shared_values)?)),
+ 1 => crate::data::SumWithBoxedVariants::VariantTwo(::std::boxed::Box::new(crate::data::transient_0::decode_variant_two(reader, shared_values)?)),
+ _ => todo!(),
+ })
+}
+
pub fn encode_struct_with_sum(value: &crate::data::StructWithSum, writer: &mut impl std::io::Write, shared_values: &mut ::std::collections::HashMap::<::core::primitive::usize, ::core::primitive::i64>) -> ::std::io::Result::<()> {
crate::data::transient_0::encode_sum_with_variants(&value.inner, writer, shared_values)?;
crate::transient_0::encode_int_32(&value.b, writer, shared_values)?;