1 // This is a miscompilation, #111005 to track 2 3 // unit-test: RenameReturnPlace 4 5 #![feature(custom_mir, core_intrinsics)] 6 extern crate core; 7 use core::intrinsics::mir::*; 8 9 // EMIT_MIR nrvo_miscompile_111005.wrong.RenameReturnPlace.diff 10 #[custom_mir(dialect = "runtime", phase = "initial")] wrong(arg: char) -> char11pub fn wrong(arg: char) -> char { 12 mir!({ 13 let temp = arg; 14 RET = temp; 15 temp = 'b'; 16 Return() 17 }) 18 } 19 main()20fn main() { 21 assert_eq!(wrong('a'), 'a'); 22 } 23