rust/tests/mir-opt/switch_to_self.rs

23 lines
602 B
Rust

// skip-filecheck
// Test that MatchBranchSimplification doesn't ICE on a SwitchInt where
// one of the targets is the block that the SwitchInt terminates.
#![crate_type = "lib"]
#![feature(core_intrinsics, custom_mir)]
use std::intrinsics::mir::*;
// EMIT_MIR switch_to_self.test.MatchBranchSimplification.diff
#[custom_mir(dialect = "runtime", phase = "post-cleanup")]
pub fn test(x: bool) {
mir! {
{
Goto(bb0)
}
bb0 = {
match x { false => bb0, _ => bb1 }
}
bb1 = {
match x { false => bb0, _ => bb1 }
}
}
}