v2 / vlib / v / tests / generics / generics_closure_fn_test.v
20 lines · 17 sloc · 252 bytes · 6488041a749df9762348d019c4223908c476f2e2
Raw
1fn setter[T](mut m map[T]int) fn (T, int) {
2 return fn [mut m] [T](x T, k int) {
3 m[x] = k
4 }
5}
6
7fn test_generics_closure_fn() {
8 mut m := {
9 f32(0.1): 1
10 }
11
12 f := setter(mut m)
13 f(0.2, 2)
14
15 println(m)
16 assert m == {
17 f32(0.1): 1
18 0.2: 2
19 }
20}
21