summary refs log tree commit diff stats
path: root/tests/destructor/tsimpleclosure.nim
diff options
context:
space:
mode:
Diffstat (limited to 'tests/destructor/tsimpleclosure.nim')
-rw-r--r--tests/destructor/tsimpleclosure.nim22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/destructor/tsimpleclosure.nim b/tests/destructor/tsimpleclosure.nim
new file mode 100644
index 000000000..df4c2c84b
--- /dev/null
+++ b/tests/destructor/tsimpleclosure.nim
@@ -0,0 +1,22 @@
+discard """
+  cmd: '''nim c --newruntime $file'''
+  output: '''a b
+0 0  alloc/dealloc pairs: 0'''
+"""
+
+import core / allocators
+import system / ansi_c
+
+proc main(): owned(proc()) =
+  var a = "a"
+  var b = "b"
+  result = proc() =
+    echo a, " ", b
+
+proc wrap =
+  let p = main()
+  p()
+
+wrap()
+let (a, d) = allocCounters()
+discard cprintf("%ld %ld  alloc/dealloc pairs: %ld\n", a, d, system.allocs)