From 71f24eac2de498b76994d901092c56bbfca5a067 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 25 Jul 2026 17:47:38 +0100 Subject: Test shared value of sum and variant in java-transient-0 --- examples/11-transient-0/output/rust/src/gen/data.rs | 6 ++++++ .../11-transient-0/output/rust/src/gen/data/transient_0.rs | 12 ++++++++++++ 2 files changed, 18 insertions(+) (limited to 'examples/11-transient-0/output/rust/src') diff --git a/examples/11-transient-0/output/rust/src/gen/data.rs b/examples/11-transient-0/output/rust/src/gen/data.rs index 6703918..cdc5aab 100644 --- a/examples/11-transient-0/output/rust/src/gen/data.rs +++ b/examples/11-transient-0/output/rust/src/gen/data.rs @@ -100,3 +100,9 @@ pub struct StructWithDifferentSharedTypes { pub b: ::std::sync::Arc::, pub c: ::std::sync::Arc::, } + +#[derive(Debug, PartialEq)] +pub struct StructWithSharedSumAndVariant { + pub a: ::std::sync::Arc::, + pub b: ::std::sync::Arc::, +} diff --git a/examples/11-transient-0/output/rust/src/gen/data/transient_0.rs b/examples/11-transient-0/output/rust/src/gen/data/transient_0.rs index fb07229..cffb318 100644 --- a/examples/11-transient-0/output/rust/src/gen/data/transient_0.rs +++ b/examples/11-transient-0/output/rust/src/gen/data/transient_0.rs @@ -257,3 +257,15 @@ pub fn decode_struct_with_different_shared_types(reader: &mut impl std::io::Read let c = ::std::sync::Arc::new(crate::data::transient_0::decode_struct_with_int_32(reader)?); std::io::Result::Ok(crate::data::StructWithDifferentSharedTypes { a: a, b: b, c: c }) } + +pub fn encode_struct_with_shared_sum_and_variant(value: &crate::data::StructWithSharedSumAndVariant, writer: &mut impl std::io::Write) -> ::std::io::Result::<()> { + crate::data::transient_0::encode_sum_with_variants((&value.a).as_ref(), writer)?; + crate::data::transient_0::encode_variant_one((&value.b).as_ref(), writer)?; + ::std::io::Result::Ok(()) +} + +pub fn decode_struct_with_shared_sum_and_variant(reader: &mut impl std::io::Read) -> ::std::io::Result:: { + let a = ::std::sync::Arc::new(crate::data::transient_0::decode_sum_with_variants(reader)?); + let b = ::std::sync::Arc::new(crate::data::transient_0::decode_variant_one(reader)?); + std::io::Result::Ok(crate::data::StructWithSharedSumAndVariant { a: a, b: b }) +} -- cgit v1.2.3