summary refs log tree commit diff stats
path: root/tests/closure
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2016-05-11 18:16:25 +0200
committerAndreas Rumpf <rumpf_a@web.de>2016-05-11 18:16:25 +0200
commit299351a909ee4827984eb9390f8ed55437bd60a9 (patch)
treedf4edb5dd8c009e15b22144c314eb80d36916aa2 /tests/closure
parent95ffeb6079bb9232fc7c1ff4fea98da37d54ef42 (diff)
downloadNim-299351a909ee4827984eb9390f8ed55437bd60a9.tar.gz
fixes #4070
Diffstat (limited to 'tests/closure')
-rw-r--r--tests/closure/tdeeplynested.nim20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/closure/tdeeplynested.nim b/tests/closure/tdeeplynested.nim
new file mode 100644
index 000000000..0cd9a3694
--- /dev/null
+++ b/tests/closure/tdeeplynested.nim
@@ -0,0 +1,20 @@
+discard """
+  output: '''108'''
+"""
+
+# bug #4070
+
+proc id(f: (proc())): auto =
+  return f
+
+proc foo(myinteger: int): (iterator(): int) =
+  return iterator(): int {.closure.} =
+           proc bar() =
+             proc kk() =
+               echo "int: ", myinteger
+
+             kk()
+
+           id(bar)()
+
+discard foo(108)()