summaryrefslogtreecommitdiff
path: root/examples/10-transient-0/output
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-07-24 17:59:45 +0100
committerMichael Williamson <mike@zwobble.org>2026-07-24 17:59:45 +0100
commit2bc23bdc7fe01fc5921be8e09f405a8a1fd7bd65 (patch)
tree9df07f8aeba21f4fb91e23fcc8d1c7a4a57a42eb /examples/10-transient-0/output
parentc8baf035c5a1705b957931f56f9162125803e554 (diff)
Add Shared type
Diffstat (limited to 'examples/10-transient-0/output')
-rw-r--r--examples/10-transient-0/output/java/.gitignore2
l---------examples/10-transient-0/output/java/pom.xml1
-rw-r--r--examples/10-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java214
-rw-r--r--examples/10-transient-0/output/rust/.gitignore1
-rw-r--r--examples/10-transient-0/output/rust/Cargo.lock7
-rw-r--r--examples/10-transient-0/output/rust/Cargo.toml6
-rw-r--r--examples/10-transient-0/output/rust/rust-toolchain.toml2
-rw-r--r--examples/10-transient-0/output/rust/src/data.rs5
-rw-r--r--examples/10-transient-0/output/rust/src/gen/data.rs90
-rw-r--r--examples/10-transient-0/output/rust/src/gen/data/transient_0.rs223
-rw-r--r--examples/10-transient-0/output/rust/src/gen/transient_0.rs70
-rw-r--r--examples/10-transient-0/output/rust/src/lib.rs184
-rw-r--r--examples/10-transient-0/output/rust/src/transient_0.rs1
13 files changed, 0 insertions, 806 deletions
diff --git a/examples/10-transient-0/output/java/.gitignore b/examples/10-transient-0/output/java/.gitignore
deleted file mode 100644
index ff511d4..0000000
--- a/examples/10-transient-0/output/java/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-/src/gen/
-/target/
diff --git a/examples/10-transient-0/output/java/pom.xml b/examples/10-transient-0/output/java/pom.xml
deleted file mode 120000
index 445fa65..0000000
--- a/examples/10-transient-0/output/java/pom.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../templates/java-junit/pom.xml \ No newline at end of file
diff --git a/examples/10-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java b/examples/10-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java
deleted file mode 100644
index 6369f93..0000000
--- a/examples/10-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java
+++ /dev/null
@@ -1,214 +0,0 @@
-package org.zwobble.example;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.List;
-import java.util.Optional;
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.Test;
-import org.zwobble.example.types.data.EnumWithVariants;
-import org.zwobble.example.types.data.HobgoblinTransient0Data;
-import org.zwobble.example.types.data.StructWithBool;
-import org.zwobble.example.types.data.StructWithEnum;
-import org.zwobble.example.types.data.StructWithInt32;
-import org.zwobble.example.types.data.StructWithInt64;
-import org.zwobble.example.types.data.StructWithList;
-import org.zwobble.example.types.data.StructWithOption;
-import org.zwobble.example.types.data.StructWithString;
-import org.zwobble.example.types.data.StructWithStruct;
-import org.zwobble.example.types.data.StructWithSum;
-import org.zwobble.example.types.data.VariantOne;
-import org.zwobble.example.types.data.VariantTwo;
-
-public class Transient0Tests {
- @Test
- public void structWithBool() throws IOException {
- var value = new StructWithBool(true, false);
-
- assertRoundTripEncoding(
- value,
- HobgoblinTransient0Data::encodeStructWithBool,
- HobgoblinTransient0Data::decodeStructWithBool
- );
- }
-
- @Test
- public void structWithInt32() throws IOException {
- var value = new StructWithInt32(10, 25);
-
- assertRoundTripEncoding(
- value,
- HobgoblinTransient0Data::encodeStructWithInt32,
- HobgoblinTransient0Data::decodeStructWithInt32
- );
- }
-
- @Test
- public void structWithInt64() throws IOException {
- var value = new StructWithInt64(10, 25);
-
- assertRoundTripEncoding(
- value,
- HobgoblinTransient0Data::encodeStructWithInt64,
- HobgoblinTransient0Data::decodeStructWithInt64
- );
- }
-
- @Test
- public void structWithString() throws IOException {
- var value = new StructWithString("abc", "def");
-
- assertRoundTripEncoding(
- value,
- HobgoblinTransient0Data::encodeStructWithString,
- HobgoblinTransient0Data::decodeStructWithString
- );
- }
-
- @Test
- public void structWithStruct() throws IOException {
- var value = new StructWithStruct(new StructWithInt32(10, 25), 42);
-
- assertRoundTripEncoding(
- value,
- HobgoblinTransient0Data::encodeStructWithStruct,
- HobgoblinTransient0Data::decodeStructWithStruct
- );
- }
-
- @Test
- public void structWithList() throws IOException {
- var value = new StructWithList(
- List.of(10L, 25L),
- List.of(
- new StructWithInt32(42, 47),
- new StructWithInt32(52, 57),
- new StructWithInt32(62, 67)
- )
- );
-
- assertRoundTripEncoding(
- value,
- HobgoblinTransient0Data::encodeStructWithList,
- HobgoblinTransient0Data::decodeStructWithList
- );
- }
-
- @Test
- public void structWithOptionNone() throws IOException {
- var value = new StructWithOption(
- Optional.empty(),
- Optional.empty()
- );
-
- assertRoundTripEncoding(
- value,
- HobgoblinTransient0Data::encodeStructWithOption,
- HobgoblinTransient0Data::decodeStructWithOption
- );
- }
-
- @Test
- public void structWithOptionSome() throws IOException {
- var value = new StructWithOption(
- Optional.of(10L),
- Optional.of(new StructWithInt32(42, 47))
- );
-
- assertRoundTripEncoding(
- value,
- HobgoblinTransient0Data::encodeStructWithOption,
- HobgoblinTransient0Data::decodeStructWithOption
- );
- }
-
- @Test
- public void enumWithVariants() throws IOException {
- assertRoundTripEncoding(
- EnumWithVariants.ZERO,
- HobgoblinTransient0Data::encodeEnumWithVariants,
- HobgoblinTransient0Data::decodeEnumWithVariants
- );
-
- assertRoundTripEncoding(
- EnumWithVariants.ONE,
- HobgoblinTransient0Data::encodeEnumWithVariants,
- HobgoblinTransient0Data::decodeEnumWithVariants
- );
-
- assertRoundTripEncoding(
- EnumWithVariants.TWO,
- HobgoblinTransient0Data::encodeEnumWithVariants,
- HobgoblinTransient0Data::decodeEnumWithVariants
- );
- }
-
- @Test
- public void structWithEnum() throws IOException {
- var value = new StructWithEnum(
- EnumWithVariants.ONE,
- 42
- );
-
- assertRoundTripEncoding(
- value,
- HobgoblinTransient0Data::encodeStructWithEnum,
- HobgoblinTransient0Data::decodeStructWithEnum
- );
- }
-
- @Test
- public void sumWithVariants() throws IOException {
- assertRoundTripEncoding(
- new VariantOne(10),
- HobgoblinTransient0Data::encodeSumWithVariants,
- HobgoblinTransient0Data::decodeSumWithVariants
- );
-
- assertRoundTripEncoding(
- new VariantTwo(25),
- HobgoblinTransient0Data::encodeSumWithVariants,
- HobgoblinTransient0Data::decodeSumWithVariants
- );
- }
-
- @Test
- public void structWithSum() throws IOException {
- var value = new StructWithSum(
- new VariantTwo(25),
- 42
- );
-
- assertRoundTripEncoding(
- value,
- HobgoblinTransient0Data::encodeStructWithSum,
- HobgoblinTransient0Data::decodeStructWithSum
- );
- }
-
- private <T> void assertRoundTripEncoding(
- T value,
- Encoder<T> encoder,
- Decoder<T> decoder
- ) throws IOException {
- var outputStream = new ByteArrayOutputStream();
- encoder.encode(value, outputStream);
- var bytes = outputStream.toByteArray();
-
- var inputStream = new ByteArrayInputStream(bytes);
- var decodedValue = decoder.decode(inputStream);
-
- Assertions.assertEquals(value, decodedValue);
- }
-
- private interface Encoder<T> {
- void encode(T value, OutputStream outputStream) throws IOException;
- }
-
- private interface Decoder<T> {
- T decode(InputStream inputStream) throws IOException;
- }
-}
diff --git a/examples/10-transient-0/output/rust/.gitignore b/examples/10-transient-0/output/rust/.gitignore
deleted file mode 100644
index ea8c4bf..0000000
--- a/examples/10-transient-0/output/rust/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/target
diff --git a/examples/10-transient-0/output/rust/Cargo.lock b/examples/10-transient-0/output/rust/Cargo.lock
deleted file mode 100644
index 9dc6e3e..0000000
--- a/examples/10-transient-0/output/rust/Cargo.lock
+++ /dev/null
@@ -1,7 +0,0 @@
-# This file is automatically @generated by Cargo.
-# It is not intended for manual editing.
-version = 4
-
-[[package]]
-name = "example"
-version = "0.1.0"
diff --git a/examples/10-transient-0/output/rust/Cargo.toml b/examples/10-transient-0/output/rust/Cargo.toml
deleted file mode 100644
index 5d4c622..0000000
--- a/examples/10-transient-0/output/rust/Cargo.toml
+++ /dev/null
@@ -1,6 +0,0 @@
-[package]
-name = "example"
-version = "0.1.0"
-edition = "2024"
-
-[dependencies]
diff --git a/examples/10-transient-0/output/rust/rust-toolchain.toml b/examples/10-transient-0/output/rust/rust-toolchain.toml
deleted file mode 100644
index 4fedb95..0000000
--- a/examples/10-transient-0/output/rust/rust-toolchain.toml
+++ /dev/null
@@ -1,2 +0,0 @@
-[toolchain]
-channel = "1.96"
diff --git a/examples/10-transient-0/output/rust/src/data.rs b/examples/10-transient-0/output/rust/src/data.rs
deleted file mode 100644
index 7a0c4fa..0000000
--- a/examples/10-transient-0/output/rust/src/data.rs
+++ /dev/null
@@ -1,5 +0,0 @@
-include!("./gen/data.rs");
-
-pub mod transient_0 {
- include!("./gen/data/transient_0.rs");
-}
diff --git a/examples/10-transient-0/output/rust/src/gen/data.rs b/examples/10-transient-0/output/rust/src/gen/data.rs
deleted file mode 100644
index 0ea6c0f..0000000
--- a/examples/10-transient-0/output/rust/src/gen/data.rs
+++ /dev/null
@@ -1,90 +0,0 @@
-// Generated by hobgoblin.
-
-#[derive(Debug, PartialEq)]
-pub struct StructWithBool {
- pub a: ::core::primitive::bool,
- pub b: ::core::primitive::bool,
-}
-
-#[derive(Debug, PartialEq)]
-pub struct StructWithInt32 {
- pub a: ::core::primitive::i32,
- pub b: ::core::primitive::i32,
-}
-
-#[derive(Debug, PartialEq)]
-pub struct StructWithInt64 {
- pub a: ::core::primitive::i64,
- pub b: ::core::primitive::i64,
-}
-
-#[derive(Debug, PartialEq)]
-pub struct StructWithString {
- pub a: ::std::string::String,
- pub b: ::std::string::String,
-}
-
-#[derive(Debug, PartialEq)]
-pub struct StructWithStruct {
- pub inner: crate::data::StructWithInt32,
- pub c: ::core::primitive::i32,
-}
-
-#[derive(Debug, PartialEq)]
-pub struct StructWithList {
- pub a: ::std::vec::Vec::<::core::primitive::i64>,
- pub b: ::std::vec::Vec::<crate::data::StructWithInt32>,
-}
-
-#[derive(Debug, PartialEq)]
-pub struct StructWithOption {
- pub a: ::std::option::Option::<::core::primitive::i64>,
- pub b: ::std::option::Option::<crate::data::StructWithInt32>,
-}
-
-#[derive(Debug, PartialEq)]
-pub enum EnumWithVariants {
- Zero,
- One,
- Two,
-}
-
-#[derive(Debug, PartialEq)]
-pub struct StructWithEnum {
- pub inner: crate::data::EnumWithVariants,
- pub c: ::core::primitive::i32,
-}
-
-#[derive(Debug, PartialEq)]
-pub enum SumWithVariants {
- VariantOne(crate::data::VariantOne),
- VariantTwo(crate::data::VariantTwo),
-}
-
-impl ::std::convert::From::<crate::data::VariantOne> for crate::data::SumWithVariants {
- fn from(value: crate::data::VariantOne) -> Self {
- Self::VariantOne(value)
- }
-}
-
-impl ::std::convert::From::<crate::data::VariantTwo> for crate::data::SumWithVariants {
- fn from(value: crate::data::VariantTwo) -> Self {
- Self::VariantTwo(value)
- }
-}
-
-#[derive(Debug, PartialEq)]
-pub struct VariantOne {
- pub a: ::core::primitive::i32,
-}
-
-#[derive(Debug, PartialEq)]
-pub struct VariantTwo {
- pub a: ::core::primitive::i64,
-}
-
-#[derive(Debug, PartialEq)]
-pub struct StructWithSum {
- pub inner: crate::data::SumWithVariants,
- pub b: ::core::primitive::i32,
-}
diff --git a/examples/10-transient-0/output/rust/src/gen/data/transient_0.rs b/examples/10-transient-0/output/rust/src/gen/data/transient_0.rs
deleted file mode 100644
index 82fb5f7..0000000
--- a/examples/10-transient-0/output/rust/src/gen/data/transient_0.rs
+++ /dev/null
@@ -1,223 +0,0 @@
-// Generated by hobgoblin.
-
-pub fn encode_struct_with_bool(value: &crate::data::StructWithBool, writer: &mut impl std::io::Write) -> ::std::io::Result::<()> {
- crate::transient_0::encode_bool(&value.a, writer)?;
- crate::transient_0::encode_bool(&value.b, writer)?;
- ::std::io::Result::Ok(())
-}
-
-pub fn decode_struct_with_bool(reader: &mut impl std::io::Read) -> ::std::io::Result::<crate::data::StructWithBool> {
- let a = crate::transient_0::decode_bool(reader)?;
- let b = crate::transient_0::decode_bool(reader)?;
- std::io::Result::Ok(crate::data::StructWithBool { a: a, b: b })
-}
-
-pub fn encode_struct_with_int_32(value: &crate::data::StructWithInt32, writer: &mut impl std::io::Write) -> ::std::io::Result::<()> {
- crate::transient_0::encode_int_32(&value.a, writer)?;
- crate::transient_0::encode_int_32(&value.b, writer)?;
- ::std::io::Result::Ok(())
-}
-
-pub fn decode_struct_with_int_32(reader: &mut impl std::io::Read) -> ::std::io::Result::<crate::data::StructWithInt32> {
- let a = crate::transient_0::decode_int_32(reader)?;
- let b = crate::transient_0::decode_int_32(reader)?;
- std::io::Result::Ok(crate::data::StructWithInt32 { a: a, b: b })
-}
-
-pub fn encode_struct_with_int_64(value: &crate::data::StructWithInt64, writer: &mut impl std::io::Write) -> ::std::io::Result::<()> {
- crate::transient_0::encode_int_64(&value.a, writer)?;
- crate::transient_0::encode_int_64(&value.b, writer)?;
- ::std::io::Result::Ok(())
-}
-
-pub fn decode_struct_with_int_64(reader: &mut impl std::io::Read) -> ::std::io::Result::<crate::data::StructWithInt64> {
- let a = crate::transient_0::decode_int_64(reader)?;
- let b = crate::transient_0::decode_int_64(reader)?;
- std::io::Result::Ok(crate::data::StructWithInt64 { a: a, b: b })
-}
-
-pub fn encode_struct_with_string(value: &crate::data::StructWithString, writer: &mut impl std::io::Write) -> ::std::io::Result::<()> {
- crate::transient_0::encode_string(&value.a, writer)?;
- crate::transient_0::encode_string(&value.b, writer)?;
- ::std::io::Result::Ok(())
-}
-
-pub fn decode_struct_with_string(reader: &mut impl std::io::Read) -> ::std::io::Result::<crate::data::StructWithString> {
- let a = crate::transient_0::decode_string(reader)?;
- let b = crate::transient_0::decode_string(reader)?;
- std::io::Result::Ok(crate::data::StructWithString { a: a, b: b })
-}
-
-pub fn encode_struct_with_struct(value: &crate::data::StructWithStruct, writer: &mut impl std::io::Write) -> ::std::io::Result::<()> {
- crate::data::transient_0::encode_struct_with_int_32(&value.inner, writer)?;
- crate::transient_0::encode_int_32(&value.c, writer)?;
- ::std::io::Result::Ok(())
-}
-
-pub fn decode_struct_with_struct(reader: &mut impl std::io::Read) -> ::std::io::Result::<crate::data::StructWithStruct> {
- let inner = crate::data::transient_0::decode_struct_with_int_32(reader)?;
- let c = crate::transient_0::decode_int_32(reader)?;
- std::io::Result::Ok(crate::data::StructWithStruct { inner: inner, c: c })
-}
-
-pub fn encode_struct_with_list(value: &crate::data::StructWithList, writer: &mut impl std::io::Write) -> ::std::io::Result::<()> {
- {
- crate::transient_0::encode_int_64(&(((&value.a).len()).try_into()).map_err(|error| ::std::io::Error::new(::std::io::ErrorKind::InvalidData, error))?, writer)?;
- for element in &value.a {
- crate::transient_0::encode_int_64(element, writer)?;
- };
- };
- {
- crate::transient_0::encode_int_64(&(((&value.b).len()).try_into()).map_err(|error| ::std::io::Error::new(::std::io::ErrorKind::InvalidData, error))?, writer)?;
- for element in &value.b {
- crate::data::transient_0::encode_struct_with_int_32(element, writer)?;
- };
- };
- ::std::io::Result::Ok(())
-}
-
-pub fn decode_struct_with_list(reader: &mut impl std::io::Read) -> ::std::io::Result::<crate::data::StructWithList> {
- let a = {
- let len = crate::transient_0::decode_int_64(reader)?;
- let mut elements = ::std::vec::Vec::with_capacity((len.try_into()).map_err(|error| ::std::io::Error::new(::std::io::ErrorKind::InvalidData, error))?);
- for _ in 0..len {
- elements.push(crate::transient_0::decode_int_64(reader)?);
- };
- elements
- };
- let b = {
- let len = crate::transient_0::decode_int_64(reader)?;
- let mut elements = ::std::vec::Vec::with_capacity((len.try_into()).map_err(|error| ::std::io::Error::new(::std::io::ErrorKind::InvalidData, error))?);
- for _ in 0..len {
- elements.push(crate::data::transient_0::decode_struct_with_int_32(reader)?);
- };
- elements
- };
- std::io::Result::Ok(crate::data::StructWithList { a: a, b: b })
-}
-
-pub fn encode_struct_with_option(value: &crate::data::StructWithOption, writer: &mut impl std::io::Write) -> ::std::io::Result::<()> {
- match &value.a {
- ::std::option::Option::Some(value) => {
- crate::transient_0::encode_bool(&true, writer)?;
- crate::transient_0::encode_int_64(&value, writer)?;
- },
- ::std::option::Option::None => {
- crate::transient_0::encode_bool(&false, writer)?;
- },
- };
- match &value.b {
- ::std::option::Option::Some(value) => {
- crate::transient_0::encode_bool(&true, writer)?;
- crate::data::transient_0::encode_struct_with_int_32(&value, writer)?;
- },
- ::std::option::Option::None => {
- crate::transient_0::encode_bool(&false, writer)?;
- },
- };
- ::std::io::Result::Ok(())
-}
-
-pub fn decode_struct_with_option(reader: &mut impl std::io::Read) -> ::std::io::Result::<crate::data::StructWithOption> {
- let a = {
- let is_some = crate::transient_0::decode_bool(reader)?;
- if is_some {
- ::std::option::Option::Some(crate::transient_0::decode_int_64(reader)?)
- } else {
- ::std::option::Option::None
- }
- };
- let b = {
- let is_some = crate::transient_0::decode_bool(reader)?;
- if is_some {
- ::std::option::Option::Some(crate::data::transient_0::decode_struct_with_int_32(reader)?)
- } else {
- ::std::option::Option::None
- }
- };
- std::io::Result::Ok(crate::data::StructWithOption { a: a, b: b })
-}
-
-pub fn encode_enum_with_variants(value: &crate::data::EnumWithVariants, writer: &mut impl std::io::Write) -> ::std::io::Result::<()> {
- crate::transient_0::encode_int_32(&match value {
- crate::data::EnumWithVariants::Zero => 0,
- crate::data::EnumWithVariants::One => 1,
- crate::data::EnumWithVariants::Two => 2,
- }, writer)?;
- ::std::io::Result::Ok(())
-}
-
-pub fn decode_enum_with_variants(reader: &mut impl std::io::Read) -> ::std::io::Result::<crate::data::EnumWithVariants> {
- std::io::Result::Ok(match &crate::transient_0::decode_int_32(reader)? {
- 0 => crate::data::EnumWithVariants::Zero,
- 1 => crate::data::EnumWithVariants::One,
- 2 => crate::data::EnumWithVariants::Two,
- _ => todo!(),
- })
-}
-
-pub fn encode_struct_with_enum(value: &crate::data::StructWithEnum, writer: &mut impl std::io::Write) -> ::std::io::Result::<()> {
- crate::data::transient_0::encode_enum_with_variants(&value.inner, writer)?;
- crate::transient_0::encode_int_32(&value.c, writer)?;
- ::std::io::Result::Ok(())
-}
-
-pub fn decode_struct_with_enum(reader: &mut impl std::io::Read) -> ::std::io::Result::<crate::data::StructWithEnum> {
- let inner = crate::data::transient_0::decode_enum_with_variants(reader)?;
- let c = crate::transient_0::decode_int_32(reader)?;
- std::io::Result::Ok(crate::data::StructWithEnum { inner: inner, c: c })
-}
-
-pub fn encode_sum_with_variants(value: &crate::data::SumWithVariants, writer: &mut impl std::io::Write) -> ::std::io::Result::<()> {
- match value {
- crate::data::SumWithVariants::VariantOne(value) => {
- crate::transient_0::encode_int_32(&0, writer)?;
- crate::data::transient_0::encode_variant_one(value, writer)?;
- },
- crate::data::SumWithVariants::VariantTwo(value) => {
- crate::transient_0::encode_int_32(&1, writer)?;
- crate::data::transient_0::encode_variant_two(value, writer)?;
- },
- };
- ::std::io::Result::Ok(())
-}
-
-pub fn decode_sum_with_variants(reader: &mut impl std::io::Read) -> ::std::io::Result::<crate::data::SumWithVariants> {
- std::io::Result::Ok(match &crate::transient_0::decode_int_32(reader)? {
- 0 => crate::data::SumWithVariants::VariantOne(crate::data::transient_0::decode_variant_one(reader)?),
- 1 => crate::data::SumWithVariants::VariantTwo(crate::data::transient_0::decode_variant_two(reader)?),
- _ => todo!(),
- })
-}
-
-pub fn encode_variant_one(value: &crate::data::VariantOne, writer: &mut impl std::io::Write) -> ::std::io::Result::<()> {
- crate::transient_0::encode_int_32(&value.a, writer)?;
- ::std::io::Result::Ok(())
-}
-
-pub fn decode_variant_one(reader: &mut impl std::io::Read) -> ::std::io::Result::<crate::data::VariantOne> {
- let a = crate::transient_0::decode_int_32(reader)?;
- std::io::Result::Ok(crate::data::VariantOne { a: a })
-}
-
-pub fn encode_variant_two(value: &crate::data::VariantTwo, writer: &mut impl std::io::Write) -> ::std::io::Result::<()> {
- crate::transient_0::encode_int_64(&value.a, writer)?;
- ::std::io::Result::Ok(())
-}
-
-pub fn decode_variant_two(reader: &mut impl std::io::Read) -> ::std::io::Result::<crate::data::VariantTwo> {
- let a = crate::transient_0::decode_int_64(reader)?;
- std::io::Result::Ok(crate::data::VariantTwo { a: a })
-}
-
-pub fn encode_struct_with_sum(value: &crate::data::StructWithSum, writer: &mut impl std::io::Write) -> ::std::io::Result::<()> {
- crate::data::transient_0::encode_sum_with_variants(&value.inner, writer)?;
- crate::transient_0::encode_int_32(&value.b, writer)?;
- ::std::io::Result::Ok(())
-}
-
-pub fn decode_struct_with_sum(reader: &mut impl std::io::Read) -> ::std::io::Result::<crate::data::StructWithSum> {
- let inner = crate::data::transient_0::decode_sum_with_variants(reader)?;
- let b = crate::transient_0::decode_int_32(reader)?;
- std::io::Result::Ok(crate::data::StructWithSum { inner: inner, b: b })
-}
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
deleted file mode 100644
index 560fe51..0000000
--- a/examples/10-transient-0/output/rust/src/gen/transient_0.rs
+++ /dev/null
@@ -1,70 +0,0 @@
-// Generated by hobgoblin.
-
-pub fn encode_bool(value: &::core::primitive::bool, writer: &mut impl std::io::Write) -> ::std::io::Result::<()> {
- if *value {
- writer.write_all(&1u8.to_le_bytes())?;
- } else {
- writer.write_all(&0u8.to_le_bytes())?;
- };
- ::std::io::Result::Ok(())
-}
-
-pub fn decode_bool(reader: &mut impl std::io::Read) -> ::std::io::Result::<::core::primitive::bool> {
- let int_value = {
- let bytes = {
- let mut bytes = [0; 1];
- reader.read_exact(&mut bytes)?;
- bytes
- };
- u8::from_le_bytes(bytes)
- };
- std::io::Result::Ok(if int_value == 0 {
- false
- } else {
- true
- })
-}
-
-pub fn encode_int_32(value: &::core::primitive::i32, writer: &mut impl std::io::Write) -> ::std::io::Result::<()> {
- writer.write_all(&value.to_le_bytes())?;
- ::std::io::Result::Ok(())
-}
-
-pub fn decode_int_32(reader: &mut impl std::io::Read) -> ::std::io::Result::<::core::primitive::i32> {
- let bytes = {
- let mut bytes = [0; 4];
- reader.read_exact(&mut bytes)?;
- bytes
- };
- std::io::Result::Ok(::core::primitive::i32::from_le_bytes(bytes))
-}
-
-pub fn encode_int_64(value: &::core::primitive::i64, writer: &mut impl std::io::Write) -> ::std::io::Result::<()> {
- writer.write_all(&value.to_le_bytes())?;
- ::std::io::Result::Ok(())
-}
-
-pub fn decode_int_64(reader: &mut impl std::io::Read) -> ::std::io::Result::<::core::primitive::i64> {
- let bytes = {
- let mut bytes = [0; 8];
- reader.read_exact(&mut bytes)?;
- bytes
- };
- std::io::Result::Ok(::core::primitive::i64::from_le_bytes(bytes))
-}
-
-pub fn encode_string(value: &::std::string::String, writer: &mut impl std::io::Write) -> ::std::io::Result::<()> {
- crate::transient_0::encode_int_64(&((value.len()).try_into()).map_err(|error| ::std::io::Error::new(::std::io::ErrorKind::InvalidData, error))?, writer)?;
- writer.write_all(value.as_bytes())?;
- ::std::io::Result::Ok(())
-}
-
-pub fn decode_string(reader: &mut impl std::io::Read) -> ::std::io::Result::<::std::string::String> {
- let len = crate::transient_0::decode_int_64(reader)?;
- let bytes = {
- let mut bytes = vec![0u8; (len.try_into()).map_err(|error| ::std::io::Error::new(::std::io::ErrorKind::InvalidData, error))?];
- reader.read_exact(&mut bytes)?;
- bytes
- };
- std::io::Result::Ok((::std::string::String::from_utf8(bytes)).map_err(|error| ::std::io::Error::new(::std::io::ErrorKind::InvalidData, error))?)
-}
diff --git a/examples/10-transient-0/output/rust/src/lib.rs b/examples/10-transient-0/output/rust/src/lib.rs
deleted file mode 100644
index e31e1fb..0000000
--- a/examples/10-transient-0/output/rust/src/lib.rs
+++ /dev/null
@@ -1,184 +0,0 @@
-pub mod data;
-pub mod transient_0;
-
-#[cfg(test)]
-mod test {
- use std::io::Cursor;
- use super::data::{EnumWithVariants, StructWithBool, StructWithEnum, StructWithInt32, StructWithInt64, StructWithList, StructWithOption, StructWithString, StructWithStruct, StructWithSum, SumWithVariants, VariantOne, VariantTwo };
-
- #[test]
- fn struct_with_bool() {
- let value = StructWithBool { a: true, b: false };
-
- assert_round_trip_encoding(
- value,
- super::data::transient_0::encode_struct_with_bool,
- super::data::transient_0::decode_struct_with_bool,
- );
- }
-
- #[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,
- );
- }
-
- #[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,
- );
- }
-
- #[test]
- fn struct_with_string() {
- let value = StructWithString { a: "abc".to_string(), b: "def".to_string() };
-
- assert_round_trip_encoding(
- value,
- super::data::transient_0::encode_struct_with_string,
- super::data::transient_0::decode_struct_with_string,
- );
- }
-
- #[test]
- fn struct_with_struct() {
- let value = StructWithStruct { inner: StructWithInt32 { a: 10, b: 25 }, c: 42 };
-
- assert_round_trip_encoding(
- value,
- super::data::transient_0::encode_struct_with_struct,
- super::data::transient_0::decode_struct_with_struct,
- );
- }
-
- #[test]
- fn struct_with_list() {
- let value = StructWithList {
- a: vec![10, 25],
- b: vec![
- StructWithInt32 { a: 42, b: 47 },
- StructWithInt32 { a: 52, b: 57 },
- StructWithInt32 { a: 62, b: 67 },
- ],
- };
-
- assert_round_trip_encoding(
- value,
- super::data::transient_0::encode_struct_with_list,
- super::data::transient_0::decode_struct_with_list,
- );
- }
-
- #[test]
- fn struct_with_option_none() {
- let value = StructWithOption {
- a: None,
- b: None,
- };
-
- assert_round_trip_encoding(
- value,
- super::data::transient_0::encode_struct_with_option,
- super::data::transient_0::decode_struct_with_option,
- );
- }
-
- #[test]
- fn struct_with_option_some() {
- let value = StructWithOption {
- a: Some(10),
- b: Some(StructWithInt32 { a: 42, b: 47 }),
- };
-
- assert_round_trip_encoding(
- value,
- super::data::transient_0::encode_struct_with_option,
- super::data::transient_0::decode_struct_with_option,
- );
- }
-
- #[test]
- fn enum_with_variants() {
- assert_round_trip_encoding(
- EnumWithVariants::Zero,
- super::data::transient_0::encode_enum_with_variants,
- super::data::transient_0::decode_enum_with_variants,
- );
-
- assert_round_trip_encoding(
- EnumWithVariants::One,
- super::data::transient_0::encode_enum_with_variants,
- super::data::transient_0::decode_enum_with_variants,
- );
-
- assert_round_trip_encoding(
- EnumWithVariants::Two,
- super::data::transient_0::encode_enum_with_variants,
- super::data::transient_0::decode_enum_with_variants,
- );
- }
-
- #[test]
- fn struct_with_enum() {
- let value = StructWithEnum { inner: EnumWithVariants::One, c: 42 };
-
- assert_round_trip_encoding(
- value,
- super::data::transient_0::encode_struct_with_enum,
- super::data::transient_0::decode_struct_with_enum,
- );
- }
-
- #[test]
- fn sum_with_variants() {
- assert_round_trip_encoding(
- SumWithVariants::VariantOne(VariantOne { a: 10 }),
- super::data::transient_0::encode_sum_with_variants,
- super::data::transient_0::decode_sum_with_variants,
- );
-
- assert_round_trip_encoding(
- SumWithVariants::VariantTwo(VariantTwo { a: 25 }),
- super::data::transient_0::encode_sum_with_variants,
- super::data::transient_0::decode_sum_with_variants,
- );
- }
-
- #[test]
- fn struct_with_sum() {
- let value = StructWithSum {
- inner: SumWithVariants::VariantTwo(VariantTwo { a: 25 }),
- b: 42,
- };
-
- assert_round_trip_encoding(
- value,
- super::data::transient_0::encode_struct_with_sum,
- super::data::transient_0::decode_struct_with_sum,
- );
- }
-
- fn assert_round_trip_encoding<T: std::cmp::PartialEq + std::fmt::Debug>(
- value: T,
- encode: impl Fn(&T, &mut Cursor<Vec<u8>>) -> std::io::Result<()>,
- decode: impl Fn(&mut Cursor<Vec<u8>>) -> std::io::Result<T>,
- ) {
- let mut bytes = Cursor::new(Vec::new());
- encode(&value, &mut bytes).unwrap();
-
- bytes.set_position(0);
- let decoded_value = decode(&mut bytes).unwrap();
-
- assert_eq!(value, decoded_value);
- }
-}
diff --git a/examples/10-transient-0/output/rust/src/transient_0.rs b/examples/10-transient-0/output/rust/src/transient_0.rs
deleted file mode 100644
index 8b2b800..0000000
--- a/examples/10-transient-0/output/rust/src/transient_0.rs
+++ /dev/null
@@ -1 +0,0 @@
-include!("./gen/transient_0.rs");