summary refs log tree commit diff stats
path: root/tests/run
diff options
context:
space:
mode:
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()