9 lines
280 B
Rust
9 lines
280 B
Rust
// Creating a shared reference does not leak the data to raw pointers.
|
|
fn main() { unsafe {
|
|
let x = &mut 0;
|
|
let raw = x as *mut _;
|
|
let x = &mut *x; // kill `raw`
|
|
let _y = &*x; // this should not activate `raw` again
|
|
let _val = *raw; //~ ERROR borrow stack
|
|
} }
|