1 // compile-flags: -Zunleash-the-miri-inside-of-you
3 #![feature(const_raw_ptr_deref)]
4 #![feature(const_mut_refs)]
5 #![deny(const_err)] // FIXME: ICEs with allow! See #71316.
7 use std::cell::UnsafeCell;
9 // make sure we do not just intern this as mutable
10 const MUTABLE_BEHIND_RAW: *mut i32 = &UnsafeCell::new(42) as *const _ as *mut _;
11 //~^ WARN: skipping const checks
13 const MUTATING_BEHIND_RAW: () = {
14 // Test that `MUTABLE_BEHIND_RAW` is actually immutable, by doing this at const time.
16 *MUTABLE_BEHIND_RAW = 99 //~ ERROR any use of this value will cause an error