summaryrefslogtreecommitdiff
path: root/examples/16-transient-0/src
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-08-10 10:19:49 +0100
committerMichael Williamson <mike@zwobble.org>2026-08-10 10:19:49 +0100
commit5113f2157c5aa257ad7ebf555cb6a551701d169a (patch)
tree8ddaee09f6c43b0529b2203f9e662a028fb5fcc0 /examples/16-transient-0/src
parent5d41166750e0f05da436bf30c7a642749f7a71c5 (diff)
Add generic struct example without any outputs
Diffstat (limited to 'examples/16-transient-0/src')
-rw-r--r--examples/16-transient-0/src/data.hob111
1 files changed, 111 insertions, 0 deletions
diff --git a/examples/16-transient-0/src/data.hob b/examples/16-transient-0/src/data.hob
new file mode 100644
index 0000000..df96916
--- /dev/null
+++ b/examples/16-transient-0/src/data.hob
@@ -0,0 +1,111 @@
+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 Box[VariantOne];
+ variant Box[VariantTwo];
+}
+
+struct StructWithSum {
+ field inner: SumWithVariants;
+ field b: Int32;
+}
+
+native Native {
+}
+
+struct StructWithNative {
+ field a: Native;
+}
+
+native GenericNative[A, B] {
+}
+
+struct StructWithGenericNative {
+ field a: GenericNative[Int32, String];
+ field b: GenericNative[Option[String], GenericNative[Option[String], GenericNative[String, String]]];
+}
+
+struct StructWithBox {
+ field inner: Box[StructWithInt32];
+}
+
+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];
+}