aboutsummaryrefslogtreecommitdiff
path: root/tests/conformance/6-ownership/back_link_ret.zc
diff options
context:
space:
mode:
Diffstat (limited to 'tests/conformance/6-ownership/back_link_ret.zc')
-rw-r--r--tests/conformance/6-ownership/back_link_ret.zc7
1 files changed, 7 insertions, 0 deletions
diff --git a/tests/conformance/6-ownership/back_link_ret.zc b/tests/conformance/6-ownership/back_link_ret.zc
new file mode 100644
index 0000000..ee10fce
--- /dev/null
+++ b/tests/conformance/6-ownership/back_link_ret.zc
@@ -0,0 +1,7 @@
+// expect error: b: has to be u to be returned
+// spec 6.6
+include rt;
+struct node { int value; node* prev; node* next; };
+node* g() { node* a = rt.new(node); node* b = rt.new(node); a.next = b; b.prev = a; return b; }
+fn main() { node* x = g(); rt.put_n(x.value); }
+// zc0: skip