work on closures continues; fixed #116

This commit is contained in:
Araq 2012-07-13 00:50:56 +02:00
commit 8ce1c99d0d
3 changed files with 23 additions and 4 deletions

21
tests/run/tclosure3.nim Normal file
View file

@ -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()