tests: add as_cast_already_smartcast_sumtype_test.v (#10517)
parent
7ec55e4c51
commit
1a52da9f62
|
@ -0,0 +1,30 @@
|
||||||
|
struct S1 {
|
||||||
|
s1 string = 'abc'
|
||||||
|
}
|
||||||
|
|
||||||
|
struct Empty {
|
||||||
|
}
|
||||||
|
|
||||||
|
type Sum = Empty | S1
|
||||||
|
|
||||||
|
fn test_as_cast_already_smartcast_sumtype() {
|
||||||
|
a := Sum(S1{})
|
||||||
|
if a is S1 {
|
||||||
|
println('if expr: $a.s1')
|
||||||
|
assert a.s1 == 'abc'
|
||||||
|
v1 := a as S1
|
||||||
|
println('if expr (as cast): $v1.s1')
|
||||||
|
assert v1.s1 == 'abc'
|
||||||
|
}
|
||||||
|
|
||||||
|
match a {
|
||||||
|
S1 {
|
||||||
|
println('match expr: $a.s1')
|
||||||
|
assert a.s1 == 'abc'
|
||||||
|
v1 := a as S1
|
||||||
|
println('match expr (as cast): $v1.s1')
|
||||||
|
assert v1.s1 == 'abc'
|
||||||
|
}
|
||||||
|
else {}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue