rust/tests/compile-fail/ptr_eq_dangling.rs
2018-09-17 10:02:31 +02:00

11 lines
349 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 dangling pointer
}