diff options
| author | 2026-10-15 02:35:04 +0330 | |
|---|---|---|
| committer | 2026-10-15 02:40:51 +0330 | |
| commit | 31ae48845492c12f2745c7f4c0cd2ea448e0942a (patch) | |
| tree | bcd26f483f4774fbcbae9c621050b10b3b53f295 /tests/conformance/6-ownership/overwrite_leaks.zc | |
| parent | genmap: default genome reservation 0x70000 words (the genome had 197 words le... (diff) | |
destructors: reassigning an m owner that still holds a value frees the old value first, running its drop (right side first, then the free, then the store), with hint: x: reassigning frees the old value; a new value that is part of the old one is an error; u, d and captured owners keep the leak error; the new value's size, leaf type and drop are recorded like a declaration's; spec 6.8.5, 6.15.2
Diffstat (limited to 'tests/conformance/6-ownership/overwrite_leaks.zc')
| -rw-r--r-- | tests/conformance/6-ownership/overwrite_leaks.zc | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/tests/conformance/6-ownership/overwrite_leaks.zc b/tests/conformance/6-ownership/overwrite_leaks.zc deleted file mode 100644 index a9b0138..0000000 --- a/tests/conformance/6-ownership/overwrite_leaks.zc +++ /dev/null @@ -1,6 +0,0 @@ -// expect error: a: still owns an object; overwriting it would leak it -// spec 6.8.5 -include rt; -void pn(int x) { rt.put_n(x); rt.put_c(10); } -fn main() { int* a = rt.new(1); a[0] = 1; a = rt.new(1); pn(a[0]); return 0; } -// zc0: skip |
