1 - // MIR for `foo` before MatchBranchSimplification
2 + // MIR for `foo` after MatchBranchSimplification
4 fn foo(_1: Option<()>) -> () {
5 debug bar => _1; // in scope 0 at $DIR/matches_reduce_branches.rs:+0:8: +0:11
6 let mut _0: (); // return place in scope 0 at $DIR/matches_reduce_branches.rs:+0:25: +0:25
7 let mut _2: isize; // in scope 0 at $DIR/matches_reduce_branches.rs:+1:22: +1:26
8 + let mut _3: isize; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
11 _2 = discriminant(_1); // scope 0 at $DIR/matches_reduce_branches.rs:+1:17: +1:20
12 - switchInt(move _2) -> [0_isize: bb2, otherwise: bb1]; // scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
16 - goto -> bb3; // scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
20 - goto -> bb3; // scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
24 + StorageLive(_3); // scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
25 + _3 = move _2; // scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
26 + StorageDead(_3); // scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
27 return; // scope 0 at $DIR/matches_reduce_branches.rs:+4:2: +4:2