error: Undefined Behavior: not granting access to tag because incompatible item is protected: [Unique for (call ID)] --> $DIR/invalidate_against_barrier1.rs:LL:CC | LL | let _val = unsafe { *x }; | ^^ not granting access to tag because incompatible item is protected: [Unique for (call ID)] | = help: this indicates a potential bug in the program: it performed an invalid operation, but the Stacked Borrows rules it violated are still experimental = help: see https://github.com/rust-lang/unsafe-code-guidelines/blob/master/wip/stacked-borrows.md for further information help: was created by a retag at offsets [0x0..0x4] --> $DIR/invalidate_against_barrier1.rs:LL:CC | LL | let xraw = &mut x as *mut _; | ^^^^^^ help: was protected due to which was created here --> $DIR/invalidate_against_barrier1.rs:LL:CC | LL | inner(xraw, xref); | ^^^^ help: this protector is live for this call --> $DIR/invalidate_against_barrier1.rs:LL:CC | LL | / fn inner(x: *mut i32, _y: &mut i32) { LL | | // If `x` and `y` alias, retagging is fine with this... but we really LL | | // shouldn't be allowed to use `x` at all because `y` was assumed to be LL | | // unique for the duration of this call. LL | | let _val = unsafe { *x }; LL | | } | |_^ = note: backtrace: = note: inside `inner` at $DIR/invalidate_against_barrier1.rs:LL:CC note: inside `main` at $DIR/invalidate_against_barrier1.rs:LL:CC --> $DIR/invalidate_against_barrier1.rs:LL:CC | LL | inner(xraw, xref); | ^^^^^^^^^^^^^^^^^ note: some details are omitted, run with `MIRIFLAGS=-Zmiri-backtrace=full` for a verbose backtrace error: aborting due to previous error