Files
linguist/samples/Terra/teststd.t
2016-01-28 11:22:27 +07:00

45 lines
532 B
Perl

local S = require "std"
c = global(int,0)
struct A(S.Object) {
a : int;
b : int[5];
}
struct C {
a : int
}
struct B(S.Object) {
a : A;
b : A[2];
c : C[3];
c2 : C;
c3 : C[2];
}
terra A:__destruct()
S.printf("A dtor!\n")
c = c + 1
end
terra B:__destruct()
c = c + 10
end
terra foo()
var a = A.salloc()
end
foo()
assert(c:get() == 1)
terra bar()
var b = B.salloc()
end
bar()
assert(c:get() == 14)
terra baz()
var b = B.alloc()
b:delete()
end
baz()
assert(c:get() == 27)