about summary refs log tree commit diff
path: root/src/tools/miri/tests/fail/provenance/ptr_invalid.rs
blob: 5d44928d1d24df4513847b6df5cdf80817ede0d8 (plain)
1
2
3
4
5
6
7
8
9
#![feature(strict_provenance, exposed_provenance)]

// Ensure that a `ptr::invalid` ptr is truly invalid.
fn main() {
    let x = 42;
    let xptr = &x as *const i32;
    let xptr_invalid = std::ptr::invalid::<i32>(xptr.expose_addr());
    let _val = unsafe { *xptr_invalid }; //~ ERROR: is a dangling pointer
}