diff options
author | hlaaftana <10591326+hlaaftana@users.noreply.github.com> | 2021-02-09 15:04:36 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-09 13:04:36 +0100 |
commit | 49ee2f7f3bb943eb56db9ef16c709df1b3bd0f0a (patch) | |
tree | 96966eb94c680781ba7fcdf757a120b4b01e2540 /tests/stdlib | |
parent | 41d32c3ea3ef0dd1ce3eed27d1ec312b7d0ecf7e (diff) | |
download | Nim-49ee2f7f3bb943eb56db9ef16c709df1b3bd0f0a.tar.gz |
fix #16967 [backport:1.2] (#16976)
* fix #16967 [backport:1.2] * move test to tsugar
Diffstat (limited to 'tests/stdlib')
-rw-r--r-- | tests/stdlib/tsugar.nim | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/stdlib/tsugar.nim b/tests/stdlib/tsugar.nim index 968a4ccae..72abadae7 100644 --- a/tests/stdlib/tsugar.nim +++ b/tests/stdlib/tsugar.nim @@ -79,6 +79,22 @@ template main() = closure2 = () => (i, j) doAssert closure2() == (5, 3) + block: # bug #16967 + var s = newSeq[proc (): int](5) + {.push exportc.} + proc bar() = + for i in 0 ..< s.len: + let foo = i + 1 + capture foo: + s[i] = proc(): int = foo + {.pop.} + + bar() + + for i, p in s.pairs: + let foo = i + 1 + doAssert p() == foo + block: # dup block dup_with_field: type |