aboutsummaryrefslogtreecommitdiff
path: root/tests/errors/old_alias_after_replace.zc
diff options
context:
space:
mode:
Diffstat (limited to 'tests/errors/old_alias_after_replace.zc')
-rw-r--r--tests/errors/old_alias_after_replace.zc11
1 files changed, 11 insertions, 0 deletions
diff --git a/tests/errors/old_alias_after_replace.zc b/tests/errors/old_alias_after_replace.zc
new file mode 100644
index 0000000..7ca8616
--- /dev/null
+++ b/tests/errors/old_alias_after_replace.zc
@@ -0,0 +1,11 @@
+namespace;
+include rt;
+
+// expect: borrowed: used after it was given away
+fn main() {
+ let target = rt.new(1), replacement = rt.new(1);
+ let borrowed = target + 0;
+ rt.free(target); target = replacement;
+ rt.put_n(target[0]);
+ return borrowed[0];
+}