blob: 5abe9fa43a5d2f6473f16aa1e25e0ad8e913479d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#![feature(core_intrinsics, custom_mir)]
#![crate_type = "lib"]
use std::intrinsics::mir::*;
// EMIT_MIR dead_on_invalid_place.invalid_place.PreCodegen.after.mir
#[custom_mir(dialect = "runtime")]
pub fn invalid_place(c: bool) -> bool {
// CHECK-LABEL: fn invalid_place
// CHECK: debug c1_ref => [[c1_ref:_[0-9]+]];
// CHECK: bb0: {
// We cannot read the reference, since `c1` is dead.
// CHECK-NEXT: DBG: [[c1_ref]] = &?
// CHECK-NEXT: _0 = copy _1;
// CHECK-NEXT: return;
mir! {
let _c1_ref: &bool;
let c1: bool;
debug c1_ref => _c1_ref;
{
c1 = c;
_c1_ref = &c1;
RET = c;
Return()
}
}
}
|