- // MIR for `match_u8_i8_2_failed` before MatchBranchSimplification + // MIR for `match_u8_i8_2_failed` after MatchBranchSimplification fn match_u8_i8_2_failed(_1: EnumAu8) -> (i8, i8) { debug i => _1; let mut _0: (i8, i8); let _2: i8; let _4: (); let mut _5: u8; let mut _6: i8; let mut _7: i8; scope 1 { debug a => _2; let _3: i8; scope 2 { debug b => _3; } } bb0: { StorageLive(_2); StorageLive(_3); StorageLive(_4); _5 = discriminant(_1); switchInt(move _5) -> [0: bb5, 127: bb4, 128: bb3, 255: bb2, otherwise: bb1]; } bb1: { unreachable; } bb2: { _2 = const -1_i8; _3 = const 1_i8; _4 = (); goto -> bb6; } bb3: { _2 = const i8::MIN; _3 = const i8::MIN; _4 = (); goto -> bb6; } bb4: { _2 = const i8::MAX; _3 = const i8::MAX; _4 = (); goto -> bb6; } bb5: { _2 = const 0_i8; _3 = const 0_i8; _4 = (); goto -> bb6; } bb6: { StorageDead(_4); StorageLive(_6); _6 = copy _2; StorageLive(_7); _7 = copy _3; _0 = (move _6, move _7); StorageDead(_7); StorageDead(_6); StorageDead(_3); StorageDead(_2); return; } }