- // MIR for `main` before DataflowConstProp + // MIR for `main` after DataflowConstProp fn main() -> () { let mut _0: (); // return place in scope 0 at $DIR/self_assign.rs:+0:11: +0:11 let mut _1: i32; // in scope 0 at $DIR/self_assign.rs:+1:9: +1:14 let mut _2: i32; // in scope 0 at $DIR/self_assign.rs:+2:9: +2:10 let mut _3: i32; // in scope 0 at $DIR/self_assign.rs:+3:9: +3:10 let mut _5: &i32; // in scope 0 at $DIR/self_assign.rs:+6:9: +6:10 let mut _6: i32; // in scope 0 at $DIR/self_assign.rs:+7:9: +7:11 scope 1 { debug a => _1; // in scope 1 at $DIR/self_assign.rs:+1:9: +1:14 let mut _4: &i32; // in scope 1 at $DIR/self_assign.rs:+5:9: +5:14 scope 2 { debug b => _4; // in scope 2 at $DIR/self_assign.rs:+5:9: +5:14 } } bb0: { StorageLive(_1); // scope 0 at $DIR/self_assign.rs:+1:9: +1:14 _1 = const 0_i32; // scope 0 at $DIR/self_assign.rs:+1:17: +1:18 StorageLive(_2); // scope 1 at $DIR/self_assign.rs:+2:9: +2:10 _2 = _1; // scope 1 at $DIR/self_assign.rs:+2:9: +2:10 _1 = Add(move _2, const 1_i32); // scope 1 at $DIR/self_assign.rs:+2:5: +2:14 StorageDead(_2); // scope 1 at $DIR/self_assign.rs:+2:13: +2:14 StorageLive(_3); // scope 1 at $DIR/self_assign.rs:+3:9: +3:10 _3 = _1; // scope 1 at $DIR/self_assign.rs:+3:9: +3:10 _1 = move _3; // scope 1 at $DIR/self_assign.rs:+3:5: +3:10 StorageDead(_3); // scope 1 at $DIR/self_assign.rs:+3:9: +3:10 StorageLive(_4); // scope 1 at $DIR/self_assign.rs:+5:9: +5:14 _4 = &_1; // scope 1 at $DIR/self_assign.rs:+5:17: +5:19 StorageLive(_5); // scope 2 at $DIR/self_assign.rs:+6:9: +6:10 _5 = _4; // scope 2 at $DIR/self_assign.rs:+6:9: +6:10 _4 = move _5; // scope 2 at $DIR/self_assign.rs:+6:5: +6:10 StorageDead(_5); // scope 2 at $DIR/self_assign.rs:+6:9: +6:10 StorageLive(_6); // scope 2 at $DIR/self_assign.rs:+7:9: +7:11 _6 = (*_4); // scope 2 at $DIR/self_assign.rs:+7:9: +7:11 _1 = move _6; // scope 2 at $DIR/self_assign.rs:+7:5: +7:11 StorageDead(_6); // scope 2 at $DIR/self_assign.rs:+7:10: +7:11 _0 = const (); // scope 0 at $DIR/self_assign.rs:+0:11: +8:2 StorageDead(_4); // scope 1 at $DIR/self_assign.rs:+8:1: +8:2 StorageDead(_1); // scope 0 at $DIR/self_assign.rs:+8:1: +8:2 return; // scope 0 at $DIR/self_assign.rs:+8:2: +8:2 } }