namespace; include rt; // expect: p: used after it was given away fn take(int* .d p) { rt.free(p); return 0; } fn main(a) { int* p = rt.new(int); defer rt.free(p); if (a) { take(p); return 1; } return 0; }