// expect: c: used after it was given away struct node { int v; node* next; }; fn main() { node* p = new(node), n = new(node); p.next = n; node* c = p.next; free(d*p); return c.v; }