diff options
Diffstat (limited to 'tests/run')
-rw-r--r-- | tests/run/tclosure3.nim | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/run/tclosure3.nim b/tests/run/tclosure3.nim new file mode 100644 index 000000000..6dee49aea --- /dev/null +++ b/tests/run/tclosure3.nim @@ -0,0 +1,21 @@ +discard """ + file: "tclosure3.nim" + output: "success" + disabled: true +""" + +proc main = + const n = 30 + for iterations in 0..50_000: + var s: seq[proc(): int {.closure.}] = @[] + for i in 0 .. n-1: + let ii = i + s.add(proc(): int = return ii*ii) + for i in 0 .. n-1: + let val = s[i]() + if val != i*i: echo "bug ", val + + if getOccupiedMem() > 3000_000: quit("still a leak!") + echo "success" + +main() |