v2 / vlib / v / tests / unions / nested_union_test.v
28 lines · 27 sloc · 447 bytes · eb1f52a6cd2f0e5bb8a7632e2342465eb95cb385
Raw
1union MyNested1 {
2mut:
3 a i32
4 b i32
5 nested_union union {
6 mut:
7 c f32
8 d char
9 }
10}
11
12fn test_nested_unions() {
13 mut m := MyNested1{}
14 unsafe {
15 m.a = 12
16 assert m.b == 12
17 println(m.a)
18 m.b = -99
19 assert m.b == -99
20 println(m.b)
21 m.nested_union.c = 3.14
22 assert m.nested_union.c == 3.14
23 println(m.nested_union.c)
24 m.nested_union.d = 88
25 println(int(m.nested_union.d))
26 assert int(m.nested_union.d) == 88
27 }
28}
29