include!("./gen/data.rs"); #[derive(Clone, Debug, Hash, PartialEq)] pub struct Native { pub a: i32, pub b: i32, } #[derive(Clone, Debug, Hash, PartialEq)] pub struct GenericNative { pub a: A, pub b: B, } 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 }) } }