diff --git a/tests/iter/t2771.nim b/tests/iter/t2771.nim new file mode 100644 index 0000000000..49befb0a97 --- /dev/null +++ b/tests/iter/t2771.nim @@ -0,0 +1,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