diff options
Diffstat (limited to 'tests/programs/methodown.zc')
| -rw-r--r-- | tests/programs/methodown.zc | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/tests/programs/methodown.zc b/tests/programs/methodown.zc index 98ba146..2d90f4b 100644 --- a/tests/programs/methodown.zc +++ b/tests/programs/methodown.zc @@ -1,15 +1,18 @@ +namespace; +include rt; + // a struct method can return an owned object: its header declares the .u return struct Node { int v; } struct Maker { - static Node*.u make(int n) { Node* p = new(Node); p.v = n; return u*p; } + static Node*.u make(int n) { Node* p = rt.new(Node); p.v = n; return u*p; } } -Node*.u mk(int n) { Node* p = new(Node); p.v = n; return u*p; } +Node*.u mk(int n) { Node* p = rt.new(Node); p.v = n; return u*p; } int main() { Node*.u a = Maker.make(7); - put_n(a.v); put_c(32); - free(d*a); + rt.put_n(a.v); rt.put_c(32); + rt.free(d*a); Node*.u b = mk(9); - put_n(b.v); put_c(10); - free(d*b); + rt.put_n(b.v); rt.put_c(10); + rt.free(d*b); return 0; } |
