This commit is contained in:
Araq
2018-10-18 16:59:20 +02:00
parent ec4985a573
commit 4644484fb7

View File

@@ -79,3 +79,27 @@ proc foo(f: (iterator(): int)) =
let fIt = iterator(): int = yield 70
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