Files
Nim/tests/generics/tdont_use_inner_scope.nim
2015-08-09 20:29:03 +02:00

28 lines
646 B
Nim

# bug #2752
import future, sequtils
proc myFilter[T](it: (iterator(): T), f: (proc(anything: T):bool)): (iterator(): T) =
iterator aNameWhichWillConflict(): T {.closure.}=
for x in it():
if f(x):
yield x
result = aNameWhichWillConflict
iterator testIt():int {.closure.}=
yield -1
yield 2
#let unusedVariable = myFilter(testIt, (x: int) => x > 0)
proc onlyPos(it: (iterator(): int)): (iterator(): int)=
iterator aNameWhichWillConflict(): int {.closure.}=
var filtered = onlyPos(myFilter(it, (x:int) => x > 0))
for x in filtered():
yield x
result = aNameWhichWillConflict
let x = onlyPos(testIt)