- // MIR for `exhaustive_match` before MatchBranchSimplification + // MIR for `exhaustive_match` after MatchBranchSimplification fn exhaustive_match(_1: E) -> u8 { debug e => _1; // in scope 0 at $DIR/matches_u8.rs:+0:25: +0:26 let mut _0: u8; // return place in scope 0 at $DIR/matches_u8.rs:+0:34: +0:36 let mut _2: isize; // in scope 0 at $DIR/matches_u8.rs:+2:9: +2:13 bb0: { _2 = discriminant(_1); // scope 0 at $DIR/matches_u8.rs:+1:11: +1:12 switchInt(move _2) -> [0: bb3, 1: bb1, otherwise: bb2]; // scope 0 at $DIR/matches_u8.rs:+1:5: +1:12 } bb1: { _0 = const 1_u8; // scope 0 at $DIR/matches_u8.rs:+3:17: +3:18 goto -> bb4; // scope 0 at $DIR/matches_u8.rs:+3:17: +3:18 } bb2: { unreachable; // scope 0 at $DIR/matches_u8.rs:+1:11: +1:12 } bb3: { _0 = const 0_u8; // scope 0 at $DIR/matches_u8.rs:+2:17: +2:18 goto -> bb4; // scope 0 at $DIR/matches_u8.rs:+2:17: +2:18 } bb4: { return; // scope 0 at $DIR/matches_u8.rs:+5:2: +5:2 } }