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