rust/tests/mir-opt/nrvo_miscompile_111005.rs

26 lines
530 B
Rust

// skip-filecheck
// This is a miscompilation, #111005 to track
//@ test-mir-pass: RenameReturnPlace
#![feature(custom_mir, core_intrinsics)]
extern crate core;
use core::intrinsics::mir::*;
// EMIT_MIR nrvo_miscompile_111005.wrong.RenameReturnPlace.diff
#[custom_mir(dialect = "runtime", phase = "initial")]
pub fn wrong(arg: char) -> char {
mir! {
{
let temp = arg;
RET = temp;
temp = 'b';
Return()
}
}
}
fn main() {
assert_eq!(wrong('a'), 'a');
}