aboutsummaryrefslogtreecommitdiff
path: root/tests/errors/temporary_alias_escape.zc
diff options
context:
space:
mode:
Diffstat (limited to 'tests/errors/temporary_alias_escape.zc')
-rw-r--r--tests/errors/temporary_alias_escape.zc7
1 files changed, 7 insertions, 0 deletions
diff --git a/tests/errors/temporary_alias_escape.zc b/tests/errors/temporary_alias_escape.zc
new file mode 100644
index 0000000..9b4c8fa
--- /dev/null
+++ b/tests/errors/temporary_alias_escape.zc
@@ -0,0 +1,7 @@
+namespace;
+include rt;
+
+// expect: a borrowed temporary cannot escape its expression
+char*.u message() { return rt.new(2); }
+char* alias(char* p) { return p; }
+fn main() { char* escaped = alias(message()) + 1; rt.put_s(escaped); }