aboutsummaryrefslogtreecommitdiff
path: root/tests/conformance/6-ownership/drop_heap_values.zc
blob: 63d07c9793640c3d60c7d00bb1d004b64c7b97e5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// expect: 10 hi 2 4 9 /
// destructors 1: heap(v) boxes an int, a string and a struct into a fresh owned block sized to the value
include rt;
struct foo { int bar; int baz; }
fn main() {
	int* a = heap(10);
	char* s = heap("hi");
	foo v; v.bar = 4; v.baz = 9;
	foo* f = heap(v);
	rt.put_n(*a); rt.put_c(32); rt.put_s(s); rt.put_c(32); rt.put_n(rt.len_w(s)); rt.put_c(32);
	rt.put_n(f.bar); rt.put_c(32); rt.put_n(f.baz); rt.put_c(32);
	rt.put_c(10);
	return 0;
}
// zc0: skip