From 6b4d2a11537282947dc71a646c168ea1343d6a52 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 1 Aug 2026 09:24:12 +0100 Subject: Support Box in transient-0 --- examples/14-transient-0/output/rust/src/gen/data.rs | 5 +++++ .../14-transient-0/output/rust/src/gen/data/transient_0.rs | 10 ++++++++++ 2 files changed, 15 insertions(+) (limited to 'examples/14-transient-0/output/rust/src/gen') diff --git a/examples/14-transient-0/output/rust/src/gen/data.rs b/examples/14-transient-0/output/rust/src/gen/data.rs index 77bcbe8..d4847ec 100644 --- a/examples/14-transient-0/output/rust/src/gen/data.rs +++ b/examples/14-transient-0/output/rust/src/gen/data.rs @@ -116,6 +116,11 @@ pub struct StructWithSum { pub b: ::core::primitive::i32, } +#[derive(Clone, Debug, Hash, PartialEq)] +pub struct StructWithBox { + pub inner: ::std::boxed::Box::, +} + #[derive(Clone, Debug, Hash, PartialEq)] pub struct StructWithListOfShared { pub inner: ::std::vec::Vec::<::std::sync::Arc::>, diff --git a/examples/14-transient-0/output/rust/src/gen/data/transient_0.rs b/examples/14-transient-0/output/rust/src/gen/data/transient_0.rs index f2bf149..0c8efd3 100644 --- a/examples/14-transient-0/output/rust/src/gen/data/transient_0.rs +++ b/examples/14-transient-0/output/rust/src/gen/data/transient_0.rs @@ -264,6 +264,16 @@ pub fn decode_struct_with_sum(reader: &mut impl std::io::Read, shared_values: &m ::std::io::Result::Ok(crate::data::StructWithSum { inner: inner, b: b }) } +pub fn encode_struct_with_box(value: &crate::data::StructWithBox, 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_struct_with_int_32((&value.inner).as_ref(), writer, shared_values)?; + ::std::io::Result::Ok(()) +} + +pub fn decode_struct_with_box(reader: &mut impl std::io::Read, shared_values: &mut ::std::vec::Vec::<::std::sync::Arc::>) -> ::std::io::Result:: { + let inner = ::std::boxed::Box::new(crate::data::transient_0::decode_struct_with_int_32(reader, shared_values)?); + ::std::io::Result::Ok(crate::data::StructWithBox { inner: inner }) +} + pub fn encode_struct_with_list_of_shared(value: &crate::data::StructWithListOfShared, writer: &mut impl std::io::Write, shared_values: &mut ::std::collections::HashMap::<::core::primitive::usize, ::core::primitive::i64>) -> ::std::io::Result::<()> { { crate::transient_0::encode_int_64(&(((&value.inner).len()).try_into()).map_err(|error| ::std::io::Error::new(::std::io::ErrorKind::InvalidData, error))?, writer, shared_values)?; -- cgit v1.2.3