tagged unions

This commit is contained in:
2026-06-28 22:54:20 +02:00
parent f328c44154
commit 981ccb047a
7 changed files with 396 additions and 14 deletions
+22
View File
@@ -0,0 +1,22 @@
Animal :: enum {
dog
cat
bird
lizard
}
Data :: union(Animal) {
dog i32
bird i32
}
Thing :: union(enum) {
a i32
b f64
}
main :: func() i32 {
x Data = Data{ bird = 37 }
y Thing = Thing{ a = 5 }
return x.bird + y.a
}