aboutsummaryrefslogtreecommitdiff
path: root/tests/errors/leak_overwrite.zc
diff options
context:
space:
mode:
Diffstat (limited to 'tests/errors/leak_overwrite.zc')
-rw-r--r--tests/errors/leak_overwrite.zc4
1 files changed, 3 insertions, 1 deletions
diff --git a/tests/errors/leak_overwrite.zc b/tests/errors/leak_overwrite.zc
index 50fecfa..45febed 100644
--- a/tests/errors/leak_overwrite.zc
+++ b/tests/errors/leak_overwrite.zc
@@ -1,5 +1,7 @@
namespace;
include rt;
+// a u object still has to leave its block, so overwriting it is not a free (spec 6.8.5)
// expect: x: still owns an object
-fn main() { let x = rt.new(1); x = rt.new(2); return x[0]; }
+int*.u mk() { int*.u x = rt.new(1); x = rt.new(2); return x; }
+fn main() { let p = mk(); return p[0]; }