tagged unions
This commit is contained in:
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user