rust/tests/fail/provenance/ptr_invalid_offset.rs

11 lines
327 B
Rust
Raw Normal View History

//@compile-flags: -Zmiri-strict-provenance
#![feature(strict_provenance)]
2022-04-01 13:10:24 -05:00
fn main() {
let x = 22;
let ptr = &x as *const _ as *const u8;
let roundtrip = std::ptr::invalid::<u8>(ptr as usize);
// Not even offsetting this is allowed.
2022-07-24 13:28:45 -05:00
let _ = unsafe { roundtrip.offset(1) }; //~ERROR: is a dangling pointer
2022-04-01 13:10:24 -05:00
}