vxx2 / vlib / v / checker / tests / generics_field_struct_arr_err.vv
29 lines · 22 sloc · 432 bytes · 914169ed4b5ecf2c7fe3e156b8c5ec38b0b7bcda
Raw
1// callback types
2type CBnoret[T] = fn (val T)
3
4type CBnoret2[T] = fn (val T, prev T)
5
6type CBvret[T] = fn (val T) T
7
8type CBvret2[T] = fn (val T, prev T) T
9
10type Callback[T] = CBnoret[T] | CBnoret2[T] | CBvret[T] | CBvret2[T]
11
12interface IObv[T] {
13 v T
14 prev T
15 cb []Callback[T]
16}
17
18struct Test[T] {
19 a T
20}
21
22struct Obv[T] {
23mut:
24 v T
25 prev T
26 cb []Callback // sumtype
27 cb2 []CBvret2 // alias
28 cb3 []Test // struct
29}
30