- // MIR for `main` before DataflowConstProp + // MIR for `main` after DataflowConstProp fn main() -> () { let mut _0: (); // return place in scope 0 at $DIR/cast.rs:+0:11: +0:11 let _1: i32; // in scope 0 at $DIR/cast.rs:+1:9: +1:10 let mut _3: u8; // in scope 0 at $DIR/cast.rs:+2:13: +2:20 let mut _4: i32; // in scope 0 at $DIR/cast.rs:+2:13: +2:14 scope 1 { debug a => _1; // in scope 1 at $DIR/cast.rs:+1:9: +1:10 let _2: u8; // in scope 1 at $DIR/cast.rs:+2:9: +2:10 scope 2 { debug b => _2; // in scope 2 at $DIR/cast.rs:+2:9: +2:10 } } bb0: { StorageLive(_1); // scope 0 at $DIR/cast.rs:+1:9: +1:10 _1 = const 257_i32; // scope 0 at $DIR/cast.rs:+1:13: +1:16 StorageLive(_2); // scope 1 at $DIR/cast.rs:+2:9: +2:10 StorageLive(_3); // scope 1 at $DIR/cast.rs:+2:13: +2:20 StorageLive(_4); // scope 1 at $DIR/cast.rs:+2:13: +2:14 - _4 = _1; // scope 1 at $DIR/cast.rs:+2:13: +2:14 - _3 = move _4 as u8 (IntToInt); // scope 1 at $DIR/cast.rs:+2:13: +2:20 + _4 = const 257_i32; // scope 1 at $DIR/cast.rs:+2:13: +2:14 + _3 = const 1_u8; // scope 1 at $DIR/cast.rs:+2:13: +2:20 StorageDead(_4); // scope 1 at $DIR/cast.rs:+2:19: +2:20 - _2 = Add(move _3, const 1_u8); // scope 1 at $DIR/cast.rs:+2:13: +2:24 + _2 = const 2_u8; // scope 1 at $DIR/cast.rs:+2:13: +2:24 StorageDead(_3); // scope 1 at $DIR/cast.rs:+2:23: +2:24 _0 = const (); // scope 0 at $DIR/cast.rs:+0:11: +3:2 StorageDead(_2); // scope 1 at $DIR/cast.rs:+3:1: +3:2 StorageDead(_1); // scope 0 at $DIR/cast.rs:+3:1: +3:2 return; // scope 0 at $DIR/cast.rs:+3:2: +3:2 } }