mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-31 02:12:11 +00:00
28 lines
646 B
Nim
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)
|