closes #5321
This commit is contained in:
parent
ec4985a573
commit
4644484fb7
1 changed files with 24 additions and 0 deletions
|
|
@ -79,3 +79,27 @@ proc foo(f: (iterator(): int)) =
|
||||||
|
|
||||||
let fIt = iterator(): int = yield 70
|
let fIt = iterator(): int = yield 70
|
||||||
foo fIt
|
foo fIt
|
||||||
|
|
||||||
|
# bug #5321
|
||||||
|
|
||||||
|
proc lineIter*(filename: string): iterator(): string =
|
||||||
|
result = iterator(): string {.closure.} =
|
||||||
|
for line in lines(filename):
|
||||||
|
yield line
|
||||||
|
|
||||||
|
proc unused =
|
||||||
|
var count = 0
|
||||||
|
let iter = lineIter("temp10.nim")
|
||||||
|
for line in iter():
|
||||||
|
count += 1
|
||||||
|
|
||||||
|
iterator lineIter2*(filename: string): string {.closure.} =
|
||||||
|
var f = open(filename, bufSize=8000)
|
||||||
|
defer: close(f) # <-- commenting defer "solves" the problem
|
||||||
|
var res = TaintedString(newStringOfCap(80))
|
||||||
|
while f.readLine(res): yield res
|
||||||
|
|
||||||
|
proc unusedB =
|
||||||
|
var count = 0
|
||||||
|
for line in lineIter2("temp10.nim"):
|
||||||
|
count += 1
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue