1 // Make sure that we cannot return a `&mut` that got already invalidated.
2 fn foo(x: &mut (i32, i32)) -> &mut i32 {
3 let xraw = x as *mut (i32, i32);
4 let ret = unsafe { &mut (*xraw).1 };
5 let _val = unsafe { *xraw }; // invalidate xref
6 ret //~ ERROR: /retag .* tag does not exist in the borrow stack/