v2 / vlib / v / checker / tests / generics_struct_field_fn_args_err.vv
35 lines · 28 sloc · 472 bytes · e30182c6285355c4d9125b7dfda062bac38a49a9
Raw
1fn get_int() int {
2 return 42
3}
4
5fn dub_int(i int) int {
6 return i * 2
7}
8
9struct Fun[F] {
10mut:
11 call F
12}
13
14type FunZero = fn () int
15
16fn main() {
17 fun0 := Fun[FunZero]{
18 call: get_int
19 }
20 println(fun0.call())
21 println(fun0.call(1234))
22 println(fun0.call(1234, 5678))
23
24 fun1 := Fun[fn (int) int]{
25 call: dub_int
26 }
27
28 println(fun1.call(42))
29 println(fun1.call())
30 println(fun1.call(42, 43))
31
32 println(fun1.call(true))
33 println(fun1.call('text'))
34 println(fun1.call(22.2))
35}
36