v2 / vlib / v / tests / skip_unused / generic_iterator_loop.vv
23 lines · 17 sloc · 209 bytes · ab707dce5c84f4ea4f9ad5ccc24e0e123837236b
Raw
1module main
2
3struct Foo {}
4
5fn (f Foo) next() ?Foo {
6 return none
7}
8
9struct Bar {}
10
11fn (f Bar) next() ?Bar {
12 return none
13}
14
15fn loop[T](iter T) {
16 for _ in iter {
17 }
18}
19
20fn main() {
21 loop(Foo{})
22 loop(Bar{})
23}
24