v2 / vlib / v / checker / tests / chan_mut.vv
29 lines · 27 sloc · 282 bytes · 0c8ce3bcb9fd4a2e5bd5f991a5a07da976d780d7
Raw
1struct St {
2mut:
3 n int
4}
5
6fn f(ch chan mut St) {
7 v := St{}
8 ch <- v
9 mut w := St{}
10 ch <- w
11 x := &St{}
12 ch <- x
13 mut y := St{}
14 ch <- y
15 mut z := &St{
16 n: 7
17 }
18 // this works
19 ch <- z
20}
21
22fn main() {
23 c := chan mut St{}
24 go f(c)
25 mut y := <-c
26 z := <-c
27 println(y)
28 println(z)
29}
30