tests: add as_cast_already_smartcast_sumtype_test.v (#10517)

pull/10521/head
yuyi 2021-06-19 23:50:09 +08:00 committed by GitHub
parent 7ec55e4c51
commit 1a52da9f62
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 30 additions and 0 deletions

View File

@ -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 {}
}
}