mirror of
https://github.com/nim-lang/Nim.git
synced 2026-02-25 12:25:08 +00:00
closes #5321
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user