| - // MIR for `match_option` before MatchBranchSimplification | |
| + // MIR for `match_option` after MatchBranchSimplification | |
| fn match_option(_1: &Option<i32>) -> Option<i32> { | |
| debug i => _1; | |
| let mut _0: std::option::Option<i32>; | |
| let mut _2: isize; | |
| bb0: { | |
| _2 = discriminant((*_1)); | |
| - switchInt(move _2) -> [0: bb2, 1: bb3, otherwise: bb1]; | |
| - } | |
| - | |
| - bb1: { | |
| - unreachable; | |
| - } | |
| - | |
| - bb2: { | |
| - _0 = Option::<i32>::None; | |
| - goto -> bb4; | |
| - } | |
| - | |
| - bb3: { | |
| _0 = copy (*_1); | |
| - goto -> bb4; | |
| - } | |
| - | |
| - bb4: { | |
| return; | |
| } | |
| } | |