aboutsummaryrefslogtreecommitdiff
path: root/tests/conformance
diff options
context:
space:
mode:
authorGravatar zinc <zinc@downsta.ir> 2026-10-15 15:02:33 +0330
committerGravatar zinc <zinc@downsta.ir> 2026-10-15 15:02:33 +0330
commit0c047b14a6488c4bda405cead225b7a700647c1a (patch)
treee34415841ca1c9b5c584976b06438ab13e4c6e26 /tests/conformance
parentanalyzer: a .u (declared or inferred) function can't return a borrowed parame... (diff)
tests: alias_scope expects the block-end message; plain_return now covers a forwarding owned return called early; direct owned return before its body is accepted
Diffstat (limited to 'tests/conformance')
-rw-r--r--tests/conformance/6-ownership/infer_owned_return_before_body.zc8
1 files changed, 8 insertions, 0 deletions
diff --git a/tests/conformance/6-ownership/infer_owned_return_before_body.zc b/tests/conformance/6-ownership/infer_owned_return_before_body.zc
new file mode 100644
index 0000000..8db6b45
--- /dev/null
+++ b/tests/conformance/6-ownership/infer_owned_return_before_body.zc
@@ -0,0 +1,8 @@
+// expect: 5/0/
+// spec 6.8
+include rt;
+memdebug on;
+int use() { int* q = mk(); int v = *q; return v; }
+int* mk() { int* p = rt.new(int); *p = 5; return p; }
+fn main() { rt.put_n(use()); rt.put_c(10); rt.put_n(rt.memreport()); rt.put_c(10); }
+// zc0: skip