v2 / vlib / v / tests / fns / go_call_interface_method_test.v
28 lines · 20 sloc · 334 bytes · 6488041a749df9762348d019c4223908c476f2e2
Raw
1interface CanPerformTask {
2 task()
3}
4
5struct Task1 {}
6
7fn (task1 Task1) task() {
8 println('task1')
9}
10
11struct Task2 {}
12
13fn (task2 Task2) task() {
14 println('task2')
15}
16
17fn test_go_call_interface_method() {
18 mut tasks := []CanPerformTask{}
19
20 tasks << Task1{}
21 tasks << Task2{}
22
23 for task in tasks {
24 spawn task.task()
25 }
26
27 assert true
28}
29