with permissive-provenance set, we already treat ptr::invalid correctly
This commit is contained in:
parent
22c97b33e4
commit
fcf3bc2335
1 changed files with 10 additions and 0 deletions
10
tests/compile-fail/provenance/ptr_invalid.rs
Normal file
10
tests/compile-fail/provenance/ptr_invalid.rs
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
// compile-flags: -Zmiri-permissive-provenance
|
||||
#![feature(strict_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 not a valid pointer
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue