aboutsummaryrefslogtreecommitdiff
path: root/tests/errors/temporary_alias_retained.zc
diff options
context:
space:
mode:
Diffstat (limited to 'tests/errors/temporary_alias_retained.zc')
-rw-r--r--tests/errors/temporary_alias_retained.zc9
1 files changed, 9 insertions, 0 deletions
diff --git a/tests/errors/temporary_alias_retained.zc b/tests/errors/temporary_alias_retained.zc
new file mode 100644
index 0000000..46bdfa6
--- /dev/null
+++ b/tests/errors/temporary_alias_retained.zc
@@ -0,0 +1,9 @@
+namespace;
+include rt;
+
+// expect: a temporary argument requires a proved non-escaping borrow
+char* retained;
+char*.u message() { return rt.new(2); }
+char* alias(char* p) { return p; }
+fn store(char* p) { retained = p; }
+fn main() { store(alias(message())); }