summaryrefslogtreecommitdiffstats
path: root/tests/mir-opt/pre-codegen/duplicate_switch_targets.rs
blob: d8af6b14dad43c5e3ace2d23040c7af2ec8a2afc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// compile-flags: -O -Zmir-opt-level=2 -Cdebuginfo=0
// ignore-debug: standard library debug assertions add a panic that breaks this optimization

#![crate_type = "lib"]

pub enum Thing {
    A,
    B,
}

// EMIT_MIR duplicate_switch_targets.ub_if_b.PreCodegen.after.mir
pub unsafe fn ub_if_b(t: Thing) -> Thing {
    match t {
        Thing::A => t,
        Thing::B => std::hint::unreachable_unchecked(),
    }
}