v / vlib / v2 / gen / cleanc / tests / assoc_expr.v
29 lines · 25 sloc · 280 bytes · cd518ca93cb73cc164af43c1a07f74a9240b433b
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