v2 / vlib / v / tests / fns / iter_alias_fn_test.v
26 lines · 23 sloc · 274 bytes · c141d34592abb9f3c296d94fdc7107e11f7c0b1d
Raw
1type MyFn = fn ()
2
3struct Iter {
4 f MyFn = fn () {}
5mut:
6 done bool
7}
8
9fn (mut it Iter) next() ?&MyFn {
10 if it.done {
11 return none
12 }
13 it.done = true
14 return &it.f
15}
16
17fn test_main() {
18 mut c := 0
19 for p in Iter{} {
20 println(p)
21 w := *p
22 w()
23 c += 1
24 }
25 assert c == 1
26}
27