//@ compile-flags: -Zlint-mir -Ztreat-err-as-bug //@ build-fail //@ failure-status: 101 //@ dont-check-compiler-stderr //@ error-pattern: encountered overlapping memory in `Move` arguments to `Call` #![feature(custom_mir, core_intrinsics)] extern crate core; use core::intrinsics::mir::*; #[custom_mir(dialect = "runtime", phase = "optimized")] pub fn main() { mir!( let a: [u8; 1024]; { Call(a = f(Move(a)), ReturnTo(bb1), UnwindUnreachable()) } bb1 = { Return() } ) } pub fn f(a: T) -> T { a }