aboutsummaryrefslogtreecommitdiff
path: root/tests/errors/defer_moved.zc
diff options
context:
space:
mode:
authorGravatar zinc <zinc@downsta.ir> 2026-10-14 10:47:30 +0000
committerGravatar zinc <zinc@downsta.ir> 2026-10-14 10:47:30 +0000
commit4a22cf28742bf33577678de494aa09ab60a3c820 (patch)
treed9133c7ab431fd3f41ef7713a869d23be4539244 /tests/errors/defer_moved.zc
parentMerge four small fixes: std hovers, capture terminator, bare static calls, vo... (diff)
parentzc: add the defer statement (diff)
Merge the defer statement; todo: tick it, add its follow-ups
Diffstat (limited to 'tests/errors/defer_moved.zc')
-rw-r--r--tests/errors/defer_moved.zc11
1 files changed, 11 insertions, 0 deletions
diff --git a/tests/errors/defer_moved.zc b/tests/errors/defer_moved.zc
new file mode 100644
index 0000000..d6086cd
--- /dev/null
+++ b/tests/errors/defer_moved.zc
@@ -0,0 +1,11 @@
+namespace;
+include rt;
+
+// expect: p: used after it was given away
+fn take(int* .d p) { rt.free(p); return 0; }
+fn main() {
+ int* p = rt.new(int);
+ defer rt.free(p);
+ take(p);
+ return 0;
+}