- // MIR for `opt_char` before SimplifyComparisonIntegral + // MIR for `opt_char` after SimplifyComparisonIntegral fn opt_char(_1: char) -> u32 { debug x => _1; // in scope 0 at $DIR/if_condition_int.rs:+0:13: +0:14 let mut _0: u32; // return place in scope 0 at $DIR/if_condition_int.rs:+0:25: +0:28 let mut _2: bool; // in scope 0 at $DIR/if_condition_int.rs:+1:8: +1:16 let mut _3: char; // in scope 0 at $DIR/if_condition_int.rs:+1:8: +1:9 bb0: { StorageLive(_2); // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:16 StorageLive(_3); // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:9 _3 = _1; // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:9 - _2 = Eq(move _3, const 'x'); // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:16 - StorageDead(_3); // scope 0 at $DIR/if_condition_int.rs:+1:15: +1:16 - switchInt(move _2) -> [0: bb2, otherwise: bb1]; // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:16 + nop; // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:16 + nop; // scope 0 at $DIR/if_condition_int.rs:+1:15: +1:16 + switchInt(move _3) -> [120: bb1, otherwise: bb2]; // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:16 } bb1: { + StorageDead(_3); // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:16 _0 = const 0_u32; // scope 0 at $DIR/if_condition_int.rs:+1:19: +1:20 goto -> bb3; // scope 0 at $DIR/if_condition_int.rs:+1:5: +1:33 } bb2: { + StorageDead(_3); // scope 0 at $DIR/if_condition_int.rs:+1:8: +1:16 _0 = const 1_u32; // scope 0 at $DIR/if_condition_int.rs:+1:30: +1:31 goto -> bb3; // scope 0 at $DIR/if_condition_int.rs:+1:5: +1:33 } bb3: { StorageDead(_2); // scope 0 at $DIR/if_condition_int.rs:+1:32: +1:33 return; // scope 0 at $DIR/if_condition_int.rs:+2:2: +2:2 } }