1 // Creating a shared reference does not leak the data to raw pointers.
main()2 fn main() { unsafe {
3     let x = &mut 0;
4     let raw = x as *mut _;
5     let x = &mut *x; // kill `raw`
6     let _y = &*x; // this should not activate `raw` again
7     let _val = *raw; //~ ERROR borrow stack
8 } }
9