aboutsummaryrefslogtreecommitdiff
path: root/tests/conformance/4-statements/memdebug_report_drop.zc
blob: cf33b699ffc2ba72b29f109e6db5bcebc90a3a27 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// expect: leak: line 9 1 words (drop)/leak: line 10 2 words/207/
// spec 4.11, 6.15: rt.memreport() marks a leaked value whose drop never ran with (drop): a leaked resource, not just words
include rt;
void pn(int x) { rt.put_n(x); rt.put_c(10); }
struct res { int fd; void drop() { rt.put_s("closed "); } }
memdebug on;
fn main() {
	unchecked {
		res* f = rt.new(res);
		int* q = rt.new(2);
		pn(rt.memreport() * 100 + 7);
	}
	return 0;
}
// zc0: skip