v2 / vlib / v / tests / reusable_mut_multiret_values_test.v
23 lines · 22 sloc · 463 bytes · 0c192cfd64b4552181538cdd7bba850eff02fd52
Raw
1// verify fix for #2913
2fn some_multiret_fn(a int, b int) (int, int) {
3 return a + 1, b + 1
4}
5
6fn test_reuse_multiple_multiret() {
7 mut c, mut d := some_multiret_fn(4, 10)
8 mut a, mut b := some_multiret_fn(c, d)
9 assert a == c + 1
10 assert b == d + 1
11 for i in 1 .. 10 {
12 c += i
13 d += i
14 a, b = some_multiret_fn(c, d)
15 assert a == c + 1
16 assert b == d + 1
17 c += i + 1
18 d += i + 1
19 a, b = some_multiret_fn(c, d)
20 assert a == c + 1
21 assert b == d + 1
22 }
23}
24