diff options
author | flywind <xzsflywind@gmail.com> | 2022-04-04 18:05:23 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-04 12:05:23 +0200 |
commit | 83dabb69ae0f6c0bb269594a5b73af964b809bc7 (patch) | |
tree | 217ea0bcba5e4b94bd23fad92299c319ca244bd7 /tests | |
parent | c3f03cfa5dfa2ca47f8e4cf99bbcdbf5a7d16eda (diff) | |
download | Nim-83dabb69ae0f6c0bb269594a5b73af964b809bc7.tar.gz |
Fix bug in freshVarForClosureIter. Fixes #18474 (#19675) [backport]
* Fix bug in freshVarForClosureIter. Fixes #18474. freshVarForClosureIter was returning non-fresh symbols sometimes. Fixed by making addField return the generated PSym. * remove discardable Co-authored-by: Nick Smallbone <nick@smallbone.se>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/iter/tclosureiters.nim | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/iter/tclosureiters.nim b/tests/iter/tclosureiters.nim index afeaabc7d..85611373c 100644 --- a/tests/iter/tclosureiters.nim +++ b/tests/iter/tclosureiters.nim @@ -21,6 +21,15 @@ discard """ 2 70 0 +(1, 1) +(1, 2) +(1, 3) +(2, 1) +(2, 2) +(2, 3) +(3, 1) +(3, 2) +(3, 3) ''' """ @@ -152,3 +161,12 @@ var love = iterator: int {.closure.} = for i in love(): echo i + +# bug #18474 +iterator pairs(): (int, int) {.closure.} = + for i in 1..3: + for j in 1..3: + yield (i, j) + +for pair in pairs(): + echo pair |