- // MIR for `simple` before UnreachableEnumBranching + // MIR for `simple` after UnreachableEnumBranching fn simple() -> () { let mut _0: (); let _1: &str; let mut _2: Test1; let mut _3: isize; let _4: &str; let _5: &str; bb0: { StorageLive(_1); StorageLive(_2); _2 = Test1::C; _3 = discriminant(_2); - switchInt(move _3) -> [0: bb3, 1: bb2, otherwise: bb1]; + switchInt(move _3) -> [0: bb5, 1: bb5, 2: bb1, otherwise: bb5]; } bb1: { StorageLive(_5); _5 = const "C"; _1 = &(*_5); StorageDead(_5); goto -> bb4; } bb2: { StorageLive(_4); _4 = const "B(Empty)"; _1 = &(*_4); StorageDead(_4); goto -> bb4; } bb3: { _1 = const "A(Empty)"; goto -> bb4; } bb4: { StorageDead(_2); StorageDead(_1); _0 = const (); return; + } + + bb5: { + unreachable; } }