aboutsummaryrefslogtreecommitdiff
path: root/tests/programs/alias.zc
diff options
context:
space:
mode:
Diffstat (limited to 'tests/programs/alias.zc')
-rw-r--r--tests/programs/alias.zc21
1 files changed, 12 insertions, 9 deletions
diff --git a/tests/programs/alias.zc b/tests/programs/alias.zc
index 2ebc3e5..7d394c5 100644
--- a/tests/programs/alias.zc
+++ b/tests/programs/alias.zc
@@ -1,21 +1,24 @@
+namespace;
+include rt, run;
+
// a pointer computed from a live object is a borrow of it: fine while the owner lives
struct node { int v; node* next; };
fn main() {
- let p = new(4);
+ let p = rt.new(4);
p[0] = 11; p[1] = 22;
let q = p + 1;
- put_n(q[-1]); put_c(' ');
- put_n(q[0]); put_c(' ');
- node* a = new(node), b = new(node);
+ rt.put_n(q[-1]); rt.put_c(' ');
+ rt.put_n(q[0]); rt.put_c(' ');
+ node* a = rt.new(node), b = rt.new(node);
a.v = 3; b.v = 4; a.next = b;
node* c = a.next;
- put_n(c.v); put_c(' ');
- int** list = new(int*, 2);
- int* item = new(int);
+ rt.put_n(c.v); rt.put_c(' ');
+ int** list = rt.new(int*, 2);
+ int* item = rt.new(int);
*item = 8;
list[1] = item;
int* e = list[1];
- put_n(*e); put_c(10);
- free(d*p); free(d*a); free(d*list);
+ rt.put_n(*e); rt.put_c(10);
+ rt.free(d*p); rt.free(d*a); rt.free(d*list);
return 0;
}