v2 / vlib / v / fmt / tests / sum_smartcast_keep.vv
20 lines · 17 sloc · 164 bytes · 7d6f97259f21dcee7d62843bd3c6e2462eb242ca
Raw
1struct S1 {
2mut:
3 i int
4}
5
6struct S2 {
7}
8
9type Sum = S1 | S2
10
11fn f(sum Sum) {
12 if mut sum is S1 {
13 sum.i++
14 }
15 if sum is S1 {
16 }
17 a := [sum]
18 if a[0] is S2 {
19 }
20}
21