vlib/v/checker/tests/generics_struct_init_err.vv:14:2: notice: uninitialized `fn` struct fields are not allowed, since they can result in segfaults; use `?fn` or `[required]` or initialize the field with `=` (if you absolutely want to have unsafe function pointers, use `= unsafe { nil }`) 12 | 13 | struct FnHolder2[T] { 14 | func fn (int) int | ~~~~~~~~~~~~~~~~~ 15 | } 16 | vlib/v/checker/tests/generics_struct_init_err.vv:58:8: error: cannot initialize builtin type `FnHolder1[neg]` 56 | ret = holder_call_12(neg, 3) 57 | assert ret == -3 58 | ret = FnHolder1{neg}.call(4) | ~~~~~~~~~~~~~~ 59 | assert ret == -4 60 | vlib/v/checker/tests/generics_struct_init_err.vv:67:8: error: could not infer generic type `T` in generic struct `FnHolder2[T]` 65 | ret = holder_call_22(neg, 5) 66 | assert ret == -5 67 | ret = FnHolder2{neg}.call(6) | ~~~~~~~~~~~~~~ 68 | assert ret == -6 69 | } vlib/v/checker/tests/generics_struct_init_err.vv:22:7: error: generic struct init must specify type parameter, e.g. Foo[T] 20 | 21 | fn holder_call_1[T](func T, a int) int { 22 | h := FnHolder1{func} | ~~~~~~~~~~~~~~~ 23 | return h.call(a) 24 | } vlib/v/checker/tests/generics_struct_init_err.vv:27:7: error: generic struct init must specify type parameter, e.g. Foo[T] 25 | 26 | fn holder_call_2[T](func T, a int) int { 27 | h := FnHolder2{func} | ~~~~~~~~~~~~~~~ 28 | return h.call(a) 29 | } vlib/v/checker/tests/generics_struct_init_err.vv:33:7: error: generic struct init must specify type parameter, e.g. Foo[T] 31 | fn holder_call_11[T](func T, a int) int { 32 | f := func 33 | h := FnHolder1{f} | ~~~~~~~~~~~~ 34 | return h.call(a) 35 | } vlib/v/checker/tests/generics_struct_init_err.vv:39:7: error: generic struct init must specify type parameter, e.g. Foo[T] 37 | fn holder_call_21[T](func T, a int) int { 38 | f := func 39 | h := FnHolder2{f} | ~~~~~~~~~~~~ 40 | return h.call(a) 41 | } vlib/v/checker/tests/generics_struct_init_err.vv:44:9: error: generic struct init must specify type parameter, e.g. Foo[T] 42 | 43 | fn holder_call_12[T](func T, a int) int { 44 | return FnHolder1{func}.call(a) | ~~~~~~~~~~~~~~~ 45 | } 46 | vlib/v/checker/tests/generics_struct_init_err.vv:48:9: error: generic struct init must specify type parameter, e.g. Foo[T] 46 | 47 | fn holder_call_22[T](func T, a int) int { 48 | return FnHolder2{func}.call(a) | ~~~~~~~~~~~~~~~ 49 | } 50 |