summaryrefslogtreecommitdiff
path: root/examples/11-transient-0/output
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-07-24 20:17:40 +0100
committerMichael Williamson <mike@zwobble.org>2026-07-24 20:17:40 +0100
commit6b3ca8e95a46fbf6f4d9bc5b4214386dd221c69c (patch)
tree74754e21f6d3d81209534b427b582d73bd8300d4 /examples/11-transient-0/output
parentcfc081d9ae035f876f7f8e836ebf0811ec338c6b (diff)
Support Shared in java-transient-0
Diffstat (limited to 'examples/11-transient-0/output')
-rw-r--r--examples/11-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java12
-rw-r--r--examples/11-transient-0/output/rust/src/gen/data.rs5
-rw-r--r--examples/11-transient-0/output/rust/src/gen/data/transient_0.rs10
3 files changed, 27 insertions, 0 deletions
diff --git a/examples/11-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java b/examples/11-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java
index 6369f93..3393973 100644
--- a/examples/11-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java
+++ b/examples/11-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java
@@ -17,6 +17,7 @@ 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.StructWithShared;
import org.zwobble.example.types.data.StructWithString;
import org.zwobble.example.types.data.StructWithStruct;
import org.zwobble.example.types.data.StructWithSum;
@@ -189,6 +190,17 @@ public class Transient0Tests {
);
}
+ @Test
+ public void structWithShared() throws IOException {
+ var value = new StructWithShared(new StructWithInt32(10, 25));
+
+ assertRoundTripEncoding(
+ value,
+ HobgoblinTransient0Data::encodeStructWithShared,
+ HobgoblinTransient0Data::decodeStructWithShared
+ );
+ }
+
private <T> void assertRoundTripEncoding(
T value,
Encoder<T> encoder,
diff --git a/examples/11-transient-0/output/rust/src/gen/data.rs b/examples/11-transient-0/output/rust/src/gen/data.rs
index 0ea6c0f..df221bb 100644
--- a/examples/11-transient-0/output/rust/src/gen/data.rs
+++ b/examples/11-transient-0/output/rust/src/gen/data.rs
@@ -88,3 +88,8 @@ pub struct StructWithSum {
pub inner: crate::data::SumWithVariants,
pub b: ::core::primitive::i32,
}
+
+#[derive(Debug, PartialEq)]
+pub struct StructWithShared {
+ pub inner: ::std::sync::Arc::<crate::data::StructWithInt32>,
+}
diff --git a/examples/11-transient-0/output/rust/src/gen/data/transient_0.rs b/examples/11-transient-0/output/rust/src/gen/data/transient_0.rs
index 82fb5f7..12f69e8 100644
--- a/examples/11-transient-0/output/rust/src/gen/data/transient_0.rs
+++ b/examples/11-transient-0/output/rust/src/gen/data/transient_0.rs
@@ -221,3 +221,13 @@ pub fn decode_struct_with_sum(reader: &mut impl std::io::Read) -> ::std::io::Res
let b = crate::transient_0::decode_int_32(reader)?;
std::io::Result::Ok(crate::data::StructWithSum { inner: inner, b: b })
}
+
+pub fn encode_struct_with_shared(value: &crate::data::StructWithShared, writer: &mut impl std::io::Write) -> ::std::io::Result::<()> {
+ todo!();
+ ::std::io::Result::Ok(())
+}
+
+pub fn decode_struct_with_shared(reader: &mut impl std::io::Read) -> ::std::io::Result::<crate::data::StructWithShared> {
+ let inner = todo!();
+ std::io::Result::Ok(crate::data::StructWithShared { inner: inner })
+}