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