- // 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: bb4, 2: bb2, otherwise: bb1]; + switchInt(move _3) -> [0: bb1, 1: bb1, 2: bb2, otherwise: bb1]; } bb1: { unreachable; } bb2: { StorageLive(_5); _5 = const "C"; _1 = &(*_5); StorageDead(_5); goto -> bb5; } bb3: { _1 = const "A(Empty)"; goto -> bb5; } bb4: { StorageLive(_4); _4 = const "B(Empty)"; _1 = &(*_4); StorageDead(_4); goto -> bb5; } bb5: { StorageDead(_2); StorageDead(_1); _0 = const (); return; } }