summaryrefslogtreecommitdiff
path: root/examples/10-transient-0/output/rust/src/lib.rs
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-07-14 22:36:32 +0100
committerMichael Williamson <mike@zwobble.org>2026-07-14 22:36:32 +0100
commitd14b7d028aec3d491d9f162fc84aa8f4e51ec814 (patch)
tree0bebdcaddea1fc501b4b3aef50bfd1510d9d7640 /examples/10-transient-0/output/rust/src/lib.rs
parentedcaf92f6189a9f1af4978606d4948b56aca07b1 (diff)
Support struct with Int32 in rust-transient-0
Diffstat (limited to 'examples/10-transient-0/output/rust/src/lib.rs')
-rw-r--r--examples/10-transient-0/output/rust/src/lib.rs33
1 files changed, 33 insertions, 0 deletions
diff --git a/examples/10-transient-0/output/rust/src/lib.rs b/examples/10-transient-0/output/rust/src/lib.rs
new file mode 100644
index 0000000..865555e
--- /dev/null
+++ b/examples/10-transient-0/output/rust/src/lib.rs
@@ -0,0 +1,33 @@
+pub mod data;
+
+#[cfg(test)]
+mod test {
+ use std::io::Cursor;
+ use super::data::StructWithInt32;
+ use super::data::StructWithInt64;
+
+ #[test]
+ fn struct_with_int_32() {
+ let value = StructWithInt32 { a: 10, b: 25 };
+
+ assert_round_trip_encoding(
+ value,
+ super::data::transient_0::encode_struct_with_int_32,
+ super::data::transient_0::decode_struct_with_int_32,
+ );
+ }
+
+ fn assert_round_trip_encoding<T: std::cmp::PartialEq + std::fmt::Debug>(
+ value: T,
+ encode: impl Fn(&T, &mut Cursor<Vec<u8>>),
+ decode: impl Fn(&mut Cursor<Vec<u8>>) -> T,
+ ) {
+ let mut bytes = Cursor::new(Vec::new());
+ encode(&value, &mut bytes);
+
+ bytes.set_position(0);
+ let decoded_value = decode(&mut bytes);
+
+ assert_eq!(value, decoded_value);
+ }
+}