rust/tests/mir-opt/pre-codegen/duplicate_switch_targets.rs

19 lines
435 B
Rust

// skip-filecheck
//@ 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(),
}
}