// 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 }
        }
    }
}
