rust/tests/compile-fail/ptr_eq_dangling.rs
2019-06-23 20:19:26 +02:00

11 lines
363 B
Rust

fn main() {
let b = Box::new(0);
let x = &*b as *const i32; // soon-to-be dangling
drop(b);
let b = Box::new(0);
let y = &*b as *const i32; // different allocation
// We cannot compare these even though both are inbounds -- they *could* be
// equal if memory was reused.
assert!(x != y); //~ ERROR invalid arithmetic on pointers
}