summary refs log tree commit diff stats
path: root/tests/run
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2012-07-13 00:50:56 +0200
committerAraq <rumpf_a@web.de>2012-07-13 00:50:56 +0200
commit8ce1c99d0d9ff5a8539000365ec640c88098e60f (patch)
tree4943d075b98989a68f067111ed17842684a3a444 /tests/run
parentdc8924e1a2467d15aa61a1ee01bc2b5b26d21eea (diff)
downloadNim-8ce1c99d0d9ff5a8539000365ec640c88098e60f.tar.gz
work on closures continues; fixed #116
Diffstat (limited to 'tests/run')
-rw-r--r--tests/run/tclosure3.nim21
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()