From 13ddee33304f55788615eb3e330fd07d37093909 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 8 Aug 2026 17:48:37 +0100 Subject: Add use of native type to transient-0 example --- examples/15-transient-0/output/rust/src/data.rs | 30 +++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'examples/15-transient-0/output/rust/src/data.rs') diff --git a/examples/15-transient-0/output/rust/src/data.rs b/examples/15-transient-0/output/rust/src/data.rs index 7a0c4fa..6078fd0 100644 --- a/examples/15-transient-0/output/rust/src/data.rs +++ b/examples/15-transient-0/output/rust/src/data.rs @@ -1,5 +1,35 @@ include!("./gen/data.rs"); +#[derive(Clone, Debug, Hash, PartialEq)] +pub struct Native { + pub a: i32, + pub b: i32, +} + pub mod transient_0 { + use ::std::any::Any; + use ::std::sync::Arc; + use ::std::vec::Vec; + use super::Native; + include!("./gen/data/transient_0.rs"); + + pub fn encode_native( + value: &Native, + writer: &mut impl std::io::Write, + shared_values: &mut ::std::collections::HashMap::, + ) -> std::io::Result<()> { + crate::transient_0::encode_int_32(&value.a, writer, shared_values)?; + crate::transient_0::encode_int_32(&value.b, writer, shared_values)?; + Ok(()) + } + + pub fn decode_native( + reader: &mut impl std::io::Read, + shared_values: &mut Vec>, + ) -> std::io::Result { + let a = crate::transient_0::decode_int_32(reader, shared_values)?; + let b = crate::transient_0::decode_int_32(reader, shared_values)?; + Ok(Native { a, b }) + } } -- cgit v1.2.3