diff options
| author | 2026-10-15 17:50:10 +0330 | |
|---|---|---|
| committer | 2026-10-15 17:50:10 +0330 | |
| commit | 251b0212f626d0f92eda51906d353712ef4a63b8 (patch) | |
| tree | 4f0e0b0ee6b0f6d0671261a46bb2bcd15ef0f59c /tests/conformance/6-ownership/back_link_cycle.zc | |
| parent | merge work/actors: wasm seed bootstrap (seed/MANIFEST), shared copy-on-write ... (diff) | |
| parent | prescan: guess an owned return only from a local declared from new/heap, not ... (diff) | |
merge work/demo-fixes: analyzer ownership fixes (back links, loop-built lists, .u inference), Io.print any args, block-end borrow messages
Diffstat (limited to 'tests/conformance/6-ownership/back_link_cycle.zc')
| -rw-r--r-- | tests/conformance/6-ownership/back_link_cycle.zc | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/conformance/6-ownership/back_link_cycle.zc b/tests/conformance/6-ownership/back_link_cycle.zc new file mode 100644 index 0000000..fc47100 --- /dev/null +++ b/tests/conformance/6-ownership/back_link_cycle.zc @@ -0,0 +1,17 @@ +// expect: 0/ +// spec 6.6 +include rt; +struct node { int value; node* prev; node* next; }; +fn main() { + memdebug on; + for (int round = 0; round < 50; round++) { + node* a = rt.new(node); + node* b = rt.new(node); + a.next = b; + b.prev = a; + a.value = round; + b.value = b.prev.value; + } + rt.put_n(rt.memreport()); rt.put_c(10); +} +// zc0: skip |
