summary refs log tree commit diff stats
path: root/tests/closure/tclosure_issues.nim
diff options
context:
space:
mode:
Diffstat (limited to 'tests/closure/tclosure_issues.nim')
-rw-r--r--tests/closure/tclosure_issues.nim30
1 files changed, 29 insertions, 1 deletions
diff --git a/tests/closure/tclosure_issues.nim b/tests/closure/tclosure_issues.nim
index b2d77c571..b1a2d7c6b 100644
--- a/tests/closure/tclosure_issues.nim
+++ b/tests/closure/tclosure_issues.nim
@@ -1,5 +1,10 @@
 discard """
-  output: '''true'''
+  output: '''true
+(999, 0)
+ok 0
+ok 1
+ok 2
+'''
 """
 
 
@@ -52,3 +57,26 @@ block tissue1911:
     proc baz() : int = helper()
 
     return (bar, baz)
+
+# bug #11523
+proc foo(): proc =
+  let a = 999
+  return proc(): (int, int) =
+    return (a, 0)
+
+echo foo()()
+
+
+block tissue7104:
+  proc sp(cb: proc())=
+      cb()
+
+  sp do ():
+      var i = 0
+      echo "ok ", i
+      sp do ():
+          inc i
+          echo "ok ", i
+          sp do ():
+              inc i
+              echo "ok ", i