test: add match sumtype var shadow and `as` test
parent
45239cbd62
commit
3533335804
|
@ -0,0 +1,31 @@
|
||||||
|
struct Cat{name string}
|
||||||
|
struct Dog{name string}
|
||||||
|
|
||||||
|
type Animal = Cat | Dog
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
cat := Cat{name: 'cat'}
|
||||||
|
dog := Cat{name: 'dog'}
|
||||||
|
mut animal := Animal{}
|
||||||
|
|
||||||
|
// test shaddow
|
||||||
|
animal = cat
|
||||||
|
match animal {
|
||||||
|
Cat {
|
||||||
|
assert animal.name == cat.name
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
assert false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// test as
|
||||||
|
animal = dog
|
||||||
|
match animal as animal_kind {
|
||||||
|
Dog {
|
||||||
|
assert animal_kind.name == dog.name
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
assert false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue