From 578bf1f04b48f48225cfa794a27426cca4f6384a Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Fri, 31 Jul 2026 10:50:10 +0100 Subject: Support singleton structs --- examples/12-transient-0/src/data.hob | 78 ++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 examples/12-transient-0/src/data.hob (limited to 'examples/12-transient-0/src/data.hob') diff --git a/examples/12-transient-0/src/data.hob b/examples/12-transient-0/src/data.hob new file mode 100644 index 0000000..9c715e9 --- /dev/null +++ b/examples/12-transient-0/src/data.hob @@ -0,0 +1,78 @@ +struct StructWithBool { + field a: Bool; + field b: Bool; +} + +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; +} + +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]; +} -- cgit v1.2.3