summary refs log tree commit diff stats
path: root/tests/varres
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2018-03-24 08:36:58 +0100
committerAndreas Rumpf <rumpf_a@web.de>2018-03-24 08:37:09 +0100
commit6f747674be8eacc6d0fbd62b5dcfdb75c939bcc1 (patch)
tree99305141f474518bdac7ff8bf953d4eacc95e032 /tests/varres
parent88d8a14fb48af6d681aa61a8d2b4268bbc5555c7 (diff)
downloadNim-6f747674be8eacc6d0fbd62b5dcfdb75c939bcc1.tar.gz
more checking for 'var T' as return type; refs #7373
Diffstat (limited to 'tests/varres')
-rw-r--r--tests/varres/tvarres1.nim2
-rw-r--r--tests/varres/tvarres_via_forwarding.nim12
2 files changed, 13 insertions, 1 deletions
diff --git a/tests/varres/tvarres1.nim b/tests/varres/tvarres1.nim
index 849805768..5a5247142 100644
--- a/tests/varres/tvarres1.nim
+++ b/tests/varres/tvarres1.nim
@@ -1,7 +1,7 @@
 discard """
   file: "tvarres1.nim"
   line: 12
-  errormsg: "address of 'bla' may not escape its stack frame"
+  errormsg: "'bla' escapes its stack frame; context: 'bla'"
 """
 
 var
diff --git a/tests/varres/tvarres_via_forwarding.nim b/tests/varres/tvarres_via_forwarding.nim
new file mode 100644
index 000000000..8fd3dfcfd
--- /dev/null
+++ b/tests/varres/tvarres_via_forwarding.nim
@@ -0,0 +1,12 @@
+discard """
+  line: 10
+  errormsg: "'y' escapes its stack frame; context: 'forward(y)'"
+"""
+
+proc forward(x: var int): var int = result = x
+
+proc foo(): var int =
+  var y = 9
+  result = forward(y)
+
+echo foo()