1 - // MIR for `foo` before MatchBranchSimplification
2 + // MIR for `foo` after MatchBranchSimplification
4 fn foo(_1: std::option::Option<()>) -> () {
5 debug bar => _1; // in scope 0 at $DIR/matches_reduce_branches.rs:5:8: 5:11
6 let mut _0: (); // return place in scope 0 at $DIR/matches_reduce_branches.rs:5:25: 5:25
7 let mut _2: bool; // in scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
8 let mut _3: isize; // in scope 0 at $DIR/matches_reduce_branches.rs:6:22: 6:26
11 StorageLive(_2); // scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
12 _3 = discriminant(_1); // scope 0 at $DIR/matches_reduce_branches.rs:6:22: 6:26
13 - switchInt(move _3) -> [0_isize: bb2, otherwise: bb1]; // scope 0 at $DIR/matches_reduce_branches.rs:6:22: 6:26
14 + _2 = Eq(_3, const 0_isize); // scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
15 + goto -> bb3; // scope 0 at $DIR/matches_reduce_branches.rs:6:22: 6:26
19 _2 = const false; // 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 _2 = const true; // scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
25 goto -> bb3; // scope 0 at $SRC_DIR/core/src/macros/mod.rs:LL:COL
29 switchInt(_2) -> [false: bb4, otherwise: bb5]; // scope 0 at $DIR/matches_reduce_branches.rs:6:5: 8:6
33 _0 = const (); // scope 0 at $DIR/matches_reduce_branches.rs:6:5: 8:6
36 // + val: Value(Scalar(<ZST>))
38 // + span: $DIR/matches_reduce_branches.rs:6:5: 8:6
39 // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
40 goto -> bb5; // scope 0 at $DIR/matches_reduce_branches.rs:6:5: 8:6
44 StorageDead(_2); // scope 0 at $DIR/matches_reduce_branches.rs:9:1: 9:2
45 return; // scope 0 at $DIR/matches_reduce_branches.rs:9:2: 9:2