- // MIR for `main` before SimplifyConstCondition-after-const-prop + // MIR for `main` after SimplifyConstCondition-after-const-prop fn main() -> () { let mut _0: (); // return place in scope 0 at $DIR/switch_int.rs:+0:11: +0:11 let mut _1: i32; // in scope 0 at $DIR/switch_int.rs:+1:11: +1:12 bb0: { StorageLive(_1); // scope 0 at $DIR/switch_int.rs:+1:11: +1:12 _1 = const 1_i32; // scope 0 at $DIR/switch_int.rs:+1:11: +1:12 - switchInt(const 1_i32) -> [1: bb2, otherwise: bb1]; // scope 0 at $DIR/switch_int.rs:+1:5: +1:12 + goto -> bb2; // scope 0 at $DIR/switch_int.rs:+1:5: +1:12 } bb1: { _0 = foo(const -1_i32) -> [return: bb3, unwind unreachable]; // scope 0 at $DIR/switch_int.rs:+3:14: +3:21 // mir::Constant // + span: $DIR/switch_int.rs:12:14: 12:17 // + literal: Const { ty: fn(i32) {foo}, val: Value() } } bb2: { _0 = foo(const 0_i32) -> [return: bb3, unwind unreachable]; // scope 0 at $DIR/switch_int.rs:+2:14: +2:20 // mir::Constant // + span: $DIR/switch_int.rs:11:14: 11:17 // + literal: Const { ty: fn(i32) {foo}, val: Value() } } bb3: { StorageDead(_1); // scope 0 at $DIR/switch_int.rs:+5:1: +5:2 return; // scope 0 at $DIR/switch_int.rs:+5:2: +5:2 } }