inner(x: *mut i32, _y: &mut i32)1fn inner(x: *mut i32, _y: &mut i32) { 2 // If `x` and `y` alias, retagging is fine with this... but we really 3 // shouldn't be allowed to use `x` at all because `y` was assumed to be 4 // unique for the duration of this call. 5 let _val = unsafe { *x }; //~ ERROR protect 6 } 7 main()8fn main() { 9 let mut x = 0; 10 let xraw = &mut x as *mut _; 11 let xref = unsafe { &mut *xraw }; 12 inner(xraw, xref); 13 } 14