v2 / vlib / v / tests / concurrency / spawn_method_on_generic_struct_test.v
25 lines · 21 sloc · 359 bytes · 6488041a749df9762348d019c4223908c476f2e2
Raw
1struct Gen[T] {
2 data T
3}
4
5fn (g Gen[T]) process() string {
6 th := spawn g.internal()
7 r := th.wait()
8 return r
9}
10
11fn (g Gen[T]) internal() string {
12 println(g.data * g.data)
13 return '${g.data * g.data}'
14}
15
16fn test_spawn_method_on_generic_struct() {
17 g := Gen[int]{
18 data: 5
19 }
20 r1 := g.process()
21 assert r1 == '25'
22
23 r2 := g.internal()
24 assert r2 == '25'
25}
26