about summary refs log tree commit diff
path: root/tests/mir-opt/pre-codegen/deref_nested_borrows.rs
blob: 738cd981ae6748768b54b0b74c1f85faac1ea963 (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
// EMIT_MIR_FOR_EACH_PANIC_STRATEGY

fn src(x: &&u8) -> bool {
    // CHECK-LABEL: fn src(
    // CHECK-NOT: _0 = const true;
    // CHECK: _0 = Eq({{.*}}, {{.*}});
    // CHECK-NOT: _0 = const true;
    let y = **x;
    unsafe { unknown() };
    **x == y
}

#[inline(never)]
unsafe fn unknown() {
    // CHECK-LABEL: fn unknown(
}

fn main() {
    // CHECK-LABEL: fn main(
    src(&&0);
}

// EMIT_MIR deref_nested_borrows.src.GVN.diff
// EMIT_MIR deref_nested_borrows.src.PreCodegen.after.mir