v2 / vlib / v / tests / fns / go_anon_fn_variable_call_test.v
37 lines · 28 sloc · 526 bytes · 99be39cbd15d4bbb5ab14d2f870199908c00bc8d
Raw
1// vtest retry: 3
2
3fn sum1(a int, b int) int {
4 sum_func1 := fn (a int, b int) int {
5 return a + b
6 }
7 sum_func2 := sum_func1
8
9 g := spawn sum_func2(a, b)
10
11 result := g.wait()
12 return result
13}
14
15fn add(a int, b int) int {
16 return a + b
17}
18
19fn sum2(a int, b int) int {
20 sum_func1 := add
21 sum_func2 := sum_func1
22
23 g := spawn sum_func2(a, b)
24
25 result := g.wait()
26 return result
27}
28
29fn test_go_anon_fn_variable_call() {
30 ret1 := sum1(22, 33)
31 println(ret1)
32 assert ret1 == 55
33
34 ret2 := sum2(2, 3)
35 println(ret2)
36 assert ret2 == 5
37}
38