mirror of
https://github.com/nim-lang/Nim.git
synced 2026-07-30 20:28:00 +00:00
Access implicit result trough envP in closures (#8471)
Reuse the existing machinery, most of the changes are only needed to handle the `result = result` node in nkReturnStmt produced by the closure iterator transform. Fixes #338
This commit is contained in:
20
tests/iter/t338.nim
Normal file
20
tests/iter/t338.nim
Normal file
@@ -0,0 +1,20 @@
|
||||
discard """
|
||||
output: '''0
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
'''
|
||||
"""
|
||||
|
||||
proc moo(): iterator (): int =
|
||||
iterator fooGen: int {.closure.} =
|
||||
while true:
|
||||
yield result
|
||||
result.inc
|
||||
return fooGen
|
||||
|
||||
var foo = moo()
|
||||
|
||||
for i in 0 .. 4:
|
||||
echo foo()
|
||||
Reference in New Issue
Block a user