| - // MIR for `main` before DestinationPropagation |
| + // MIR for `main` after DestinationPropagation |
| |
| fn main() -> () { |
| let mut _0: (); // return place in scope 0 at $DIR/union.rs:+0:11: +0:11 |
| let _1: main::Un; // in scope 0 at $DIR/union.rs:+5:9: +5:11 |
| let mut _2: u32; // in scope 0 at $DIR/union.rs:+5:23: +5:28 |
| let mut _3: u32; // in scope 0 at $DIR/union.rs:+7:10: +7:26 |
| scope 1 { |
| debug un => _1; // in scope 1 at $DIR/union.rs:+5:9: +5:11 |
| scope 2 { |
| } |
| scope 3 (inlined std::mem::drop::<u32>) { // at $DIR/union.rs:15:5: 15:27 |
| debug _x => _3; // in scope 3 at $SRC_DIR/core/src/mem/mod.rs:LL:COL |
| } |
| } |
| |
| bb0: { |
| StorageLive(_1); // scope 0 at $DIR/union.rs:+5:9: +5:11 |
| StorageLive(_2); // scope 0 at $DIR/union.rs:+5:23: +5:28 |
| _2 = val() -> bb1; // scope 0 at $DIR/union.rs:+5:23: +5:28 |
| // mir::Constant |
| // + span: $DIR/union.rs:13:23: 13:26 |
| // + literal: Const { ty: fn() -> u32 {val}, val: Value(<ZST>) } |
| } |
| |
| bb1: { |
| nop; // scope 0 at $DIR/union.rs:+5:14: +5:30 |
| nop; // scope 0 at $DIR/union.rs:+5:14: +5:30 |
| StorageDead(_2); // scope 0 at $DIR/union.rs:+5:29: +5:30 |
| StorageLive(_3); // scope 1 at $DIR/union.rs:+7:10: +7:26 |
| nop; // scope 2 at $DIR/union.rs:+7:19: +7:24 |
| StorageDead(_3); // scope 1 at $DIR/union.rs:+7:26: +7:27 |
| StorageDead(_1); // scope 0 at $DIR/union.rs:+8:1: +8:2 |
| return; // scope 0 at $DIR/union.rs:+8:2: +8:2 |
| } |
| } |
| |