23 lines
472 B
Rust
23 lines
472 B
Rust
// This is a miscompilation, #111005 to track
|
|
|
|
// unit-test: 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');
|
|
}
|