summaryrefslogtreecommitdiff
path: root/examples/14-transient-0/src
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-08-01 09:17:30 +0100
committerMichael Williamson <mike@zwobble.org>2026-08-01 09:17:30 +0100
commit4524a8a16574887bfdb0ee66984709c8158470a6 (patch)
treec7a171667fa76851d7e61e7f2ead607fb0823a6f /examples/14-transient-0/src
parentb433dc94a228a89977da9ee6a4739e2f1da69d66 (diff)
Add Box type
Diffstat (limited to 'examples/14-transient-0/src')
-rw-r--r--examples/14-transient-0/src/data.hob92
1 files changed, 92 insertions, 0 deletions
diff --git a/examples/14-transient-0/src/data.hob b/examples/14-transient-0/src/data.hob
new file mode 100644
index 0000000..0744b79
--- /dev/null
+++ b/examples/14-transient-0/src/data.hob
@@ -0,0 +1,92 @@
+struct StructSingleton {
+ singleton;
+}
+
+struct StructWithBool {
+ field a: Bool;
+ field b: Bool;
+}
+
+struct StructWithInt8 {
+ field a: Int8;
+ field b: Int8;
+}
+
+struct StructWithInt32 {
+ field a: Int32;
+ field b: Int32;
+}
+
+struct StructWithInt64 {
+ field a: Int64;
+ field b: Int64;
+}
+
+struct StructWithString {
+ field a: String;
+ field b: String;
+}
+
+struct StructWithStruct {
+ field inner: StructWithInt32;
+ field c: Int32;
+}
+
+struct StructWithList {
+ field a: List[Int64];
+ field b: List[StructWithInt32];
+}
+
+struct StructWithOption {
+ field a: Option[Int64];
+ field b: Option[StructWithInt32];
+}
+
+enum EnumWithVariants {
+ variant zero;
+ variant one;
+ variant two;
+}
+
+struct StructWithEnum {
+ field inner: EnumWithVariants;
+ field c: Int32;
+}
+
+sum SumWithVariants {
+ variant VariantOne;
+ variant VariantTwo;
+}
+
+struct VariantOne {
+ field a: Int32;
+}
+
+struct VariantTwo {
+ field a: Int64;
+}
+
+sum SumWithBoxedVariants {
+ variant VariantOne box;
+ variant VariantTwo box;
+}
+
+struct StructWithSum {
+ field inner: SumWithVariants;
+ field b: Int32;
+}
+
+struct StructWithListOfShared {
+ field inner: List[Shared[StructWithInt32]];
+}
+
+struct StructWithDifferentSharedTypes {
+ field a: Shared[StructWithInt32];
+ field b: Shared[StructWithInt64];
+ field c: Shared[StructWithInt32];
+}
+
+struct StructWithSharedSumAndVariant {
+ field a: Shared[SumWithVariants];
+ field b: Shared[VariantOne];
+}