v2 / vlib / v / tests / chan_same_fn_name_test.v
24 lines · 22 sloc · 355 bytes · f27181e81b464fcd58dd543c0c1f809be364286d
Raw
1fn a() chan string {
2 ch_out := chan string{}
3 f := fn (a chan string) {
4 a <- 'foo'
5 }
6 spawn f(ch_out)
7 return ch_out
8}
9
10fn b(ch_in chan string) string {
11 f := fn (a chan string, b chan string) {
12 val := <-a
13 {}
14 b <- val
15 }
16 ch_out := chan string{}
17 spawn f(ch_in, ch_out)
18 return <-ch_out
19}
20
21fn test_main() {
22 ch0 := a()
23 assert b(ch0) == 'foo'
24}
25