vxx / vlib / v2_toberemoved / gen / cleanc / tests / assoc_expr.v
29 lines · 25 sloc · 280 bytes · c0624b274a458fe3e487d89ae9554c2e8c25bdb6
Raw
1module main
2
3struct Foo {
4 a int
5 b int
6}
7
8fn main() {
9 x := Foo{
10 a: 1
11 b: 2
12 }
13
14 // AssocExpr lowering: Foo{...x b: 3}
15 y := Foo{
16 ...x
17 b: 3
18 }
19 println(y.a)
20 println(y.b)
21
22 // &AssocExpr lowering: &Foo{...x a: 9}
23 p := &Foo{
24 ...x
25 a: 9
26 }
27 println(p.a)
28 println(p.b)
29}
30