Closed
Description
I tried this code on nightly with -Zunleash-the-miri-inside-of-you
:
#![allow(const_err)]
#![feature(const_raw_ptr_deref)]
use std::cell::UnsafeCell;
struct Meh {
x: UnsafeCell<i32>,
}
unsafe impl Sync for Meh {}
static MEH: Meh = Meh {
x: UnsafeCell::new(42),
};
const WRITE: () = unsafe {
*MEH.x.get() = 12;
};
fn main() {
}
I expected that that should try to mutate a global, and show an error along those lines. But instead, const-checking gets in the way, even though "unleash Miri" should disable that:
warning: skipping const checks
--> unleash.rs:18:6
|
18 | *MEH.x.get() = 12;
| ^^^
error[E0019]: constant contains unimplemented expression type
--> unleash.rs:18:5
|
18 | *MEH.x.get() = 12;
| ^^^^^^^^^^^^^^^^^
error: aborting due to previous error; 1 warning emitted
For more information about this error, try `rustc --explain E0019`.