v2 / vlib / v / fmt / tests / generics_keep.vv
28 lines · 21 sloc · 375 bytes · ef5be22f81005b2237311a79b6383138084b0c53
Raw
1import mymod { Data, ImpNode }
2
3fn foobar_mymod[U](inode ImpNode[U]) ImpNode[U] {
4 return ImpNode{}
5}
6
7fn simple[T]() T {
8 return T{}
9}
10
11struct Foo {}
12
13fn (_ Foo) simple[T]() T {
14 return T{}
15}
16
17struct GenericStruct[A, B] {
18 v Data[Data[A], B]
19}
20
21fn proper_generics(gs GenericStruct[A, B]) GenericStruct[A, B] {
22 return gs
23}
24
25fn main() {
26 simple[int]()
27 Foo{}.simple[int]()
28}
29