diff options
Diffstat (limited to 'examples/10-transient-0/output')
| -rw-r--r-- | examples/10-transient-0/output/rust/src/gen/transient_0.rs | 9 | ||||
| -rw-r--r-- | examples/10-transient-0/output/rust/src/lib.rs | 11 |
2 files changed, 18 insertions, 2 deletions
diff --git a/examples/10-transient-0/output/rust/src/gen/transient_0.rs b/examples/10-transient-0/output/rust/src/gen/transient_0.rs index 63b2367..ad47d30 100644 --- a/examples/10-transient-0/output/rust/src/gen/transient_0.rs +++ b/examples/10-transient-0/output/rust/src/gen/transient_0.rs @@ -22,11 +22,16 @@ pub fn decode_int_32(reader: &mut impl std::io::Read) -> ::core::primitive::i32 } pub fn encode_int_64(value: &::core::primitive::i64, writer: &mut impl std::io::Write) { - todo!(); + writer.write_all(&value.to_le_bytes()); } pub fn decode_int_64(reader: &mut impl std::io::Read) -> ::core::primitive::i64 { - todo!() + let bytes = { + let mut bytes = [0; 8]; + reader.read_exact(&mut bytes); + bytes + }; + ::core::primitive::i64::from_le_bytes(bytes) } pub fn encode_string(value: &::std::string::String, writer: &mut impl std::io::Write) { diff --git a/examples/10-transient-0/output/rust/src/lib.rs b/examples/10-transient-0/output/rust/src/lib.rs index 56be8ca..9b53c0e 100644 --- a/examples/10-transient-0/output/rust/src/lib.rs +++ b/examples/10-transient-0/output/rust/src/lib.rs @@ -18,6 +18,17 @@ mod test { ); } + #[test] + fn struct_with_int_64() { + let value = StructWithInt64 { a: 10, b: 25 }; + + assert_round_trip_encoding( + value, + super::data::transient_0::encode_struct_with_int_64, + super::data::transient_0::decode_struct_with_int_64, + ); + } + fn assert_round_trip_encoding<T: std::cmp::PartialEq + std::fmt::Debug>( value: T, encode: impl Fn(&T, &mut Cursor<Vec<u8>>), |
