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
|
||||
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