- // MIR for `main` before DestinationPropagation + // MIR for `main` after DestinationPropagation fn main() -> () { let mut _0: (); // return place in scope 0 at $DIR/cycle.rs:8:11: 8:11 let mut _1: i32; // in scope 0 at $DIR/cycle.rs:9:9: 9:14 let mut _4: i32; // in scope 0 at $DIR/cycle.rs:12:9: 12:10 let _5: (); // in scope 0 at $DIR/cycle.rs:14:5: 14:12 let mut _6: i32; // in scope 0 at $DIR/cycle.rs:14:10: 14:11 scope 1 { - debug x => _1; // in scope 1 at $DIR/cycle.rs:9:9: 9:14 + debug x => _4; // in scope 1 at $DIR/cycle.rs:9:9: 9:14 let _2: i32; // in scope 1 at $DIR/cycle.rs:10:9: 10:10 scope 2 { - debug y => _2; // in scope 2 at $DIR/cycle.rs:10:9: 10:10 + debug y => _4; // in scope 2 at $DIR/cycle.rs:10:9: 10:10 let _3: i32; // in scope 2 at $DIR/cycle.rs:11:9: 11:10 scope 3 { - debug z => _3; // in scope 3 at $DIR/cycle.rs:11:9: 11:10 + debug z => _4; // in scope 3 at $DIR/cycle.rs:11:9: 11:10 scope 4 (inlined std::mem::drop::) { // at $DIR/cycle.rs:14:5: 14:12 debug _x => _6; // in scope 4 at $DIR/cycle.rs:14:5: 14:12 } } } } bb0: { - StorageLive(_1); // scope 0 at $DIR/cycle.rs:9:9: 9:14 - _1 = val() -> bb1; // scope 0 at $DIR/cycle.rs:9:17: 9:22 + nop; // scope 0 at $DIR/cycle.rs:9:9: 9:14 + _4 = val() -> bb1; // scope 0 at $DIR/cycle.rs:9:17: 9:22 // mir::Constant // + span: $DIR/cycle.rs:9:17: 9:20 // + literal: Const { ty: fn() -> i32 {val}, val: Value(Scalar()) } } bb1: { - StorageLive(_2); // scope 1 at $DIR/cycle.rs:10:9: 10:10 - _2 = _1; // scope 1 at $DIR/cycle.rs:10:13: 10:14 - StorageLive(_3); // scope 2 at $DIR/cycle.rs:11:9: 11:10 - _3 = _2; // scope 2 at $DIR/cycle.rs:11:13: 11:14 - StorageLive(_4); // scope 3 at $DIR/cycle.rs:12:9: 12:10 - _4 = _3; // scope 3 at $DIR/cycle.rs:12:9: 12:10 - _1 = move _4; // scope 3 at $DIR/cycle.rs:12:5: 12:10 - StorageDead(_4); // scope 3 at $DIR/cycle.rs:12:9: 12:10 + nop; // scope 1 at $DIR/cycle.rs:10:9: 10:10 + nop; // scope 1 at $DIR/cycle.rs:10:13: 10:14 + nop; // scope 2 at $DIR/cycle.rs:11:9: 11:10 + nop; // scope 2 at $DIR/cycle.rs:11:13: 11:14 + nop; // scope 3 at $DIR/cycle.rs:12:9: 12:10 + nop; // scope 3 at $DIR/cycle.rs:12:9: 12:10 + nop; // scope 3 at $DIR/cycle.rs:12:5: 12:10 + nop; // scope 3 at $DIR/cycle.rs:12:9: 12:10 StorageLive(_5); // scope 3 at $DIR/cycle.rs:14:5: 14:12 StorageLive(_6); // scope 3 at $DIR/cycle.rs:14:10: 14:11 - _6 = _1; // scope 3 at $DIR/cycle.rs:14:10: 14:11 + _6 = _4; // scope 3 at $DIR/cycle.rs:14:10: 14:11 StorageDead(_6); // scope 3 at $DIR/cycle.rs:14:11: 14:12 StorageDead(_5); // scope 3 at $DIR/cycle.rs:14:12: 14:13 - StorageDead(_3); // scope 2 at $DIR/cycle.rs:15:1: 15:2 - StorageDead(_2); // scope 1 at $DIR/cycle.rs:15:1: 15:2 - StorageDead(_1); // scope 0 at $DIR/cycle.rs:15:1: 15:2 + nop; // scope 2 at $DIR/cycle.rs:15:1: 15:2 + nop; // scope 1 at $DIR/cycle.rs:15:1: 15:2 + nop; // scope 0 at $DIR/cycle.rs:15:1: 15:2 return; // scope 0 at $DIR/cycle.rs:15:2: 15:2 } }