// expect error: b: used after it was given away; b borrows a, and a was freed // spec 6.6 include rt; struct node { int value; node* prev; node* next; }; fn main() { node* a = rt.new(node); node* b = rt.new(node); a.next = b; b.prev = a; rt.free(a); rt.put_n(b.prev.value); } // zc0: skip