summary refs log tree commit diff stats
path: root/tests/iter/t2771.nim
blob: 49befb0a973f53434f04fd7fb9bd9d4002df1719 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
template t1(i: int): int=
  i+1
template t2(i: int): int=
  i+1

doAssert t1(10).t2() == 12


template it1(i: int): iterator(): int =
  iterator result(): int {.closure, gensym.} =
    yield i+1
  result

template it2(iter: iterator(): int): iterator(): int =
  iterator result(): int {.closure, gensym.} =
    yield iter()+1
  result

let x2 = it1(10).it2()

doAssert x2() == 12