rust/tests/compile-fail/stacked_borrows/outdated_local.rs

10 lines
232 B
Rust
Raw Normal View History

fn main() {
let mut x = 0;
let y: *const i32 = &x;
x = 1; // this invalidates y by reactivating the lowermost uniq borrow for this local
assert_eq!(unsafe { *y }, 1); //~ ERROR borrow stack
assert_eq!(x, 1);
}