rust/tests/mir-opt/unreachable_enum_branching....

45 lines
920 B
Diff

- // MIR for `otherwise_t2` before UnreachableEnumBranching
+ // MIR for `otherwise_t2` after UnreachableEnumBranching
fn otherwise_t2() -> () {
let mut _0: ();
let _1: &str;
let mut _2: Test2;
let mut _3: isize;
let _4: &str;
bb0: {
StorageLive(_1);
StorageLive(_2);
_2 = Test2::D;
_3 = discriminant(_2);
- switchInt(move _3) -> [4: bb2, otherwise: bb1];
+ switchInt(move _3) -> [4: bb2, 5: bb1, otherwise: bb4];
}
bb1: {
StorageLive(_4);
_4 = const "E";
_1 = &(*_4);
StorageDead(_4);
goto -> bb3;
}
bb2: {
_1 = const "D";
goto -> bb3;
}
bb3: {
StorageDead(_2);
StorageDead(_1);
_0 = const ();
return;
+ }
+
+ bb4: {
+ unreachable;
}
}