32 lines
1.7 KiB
Diff
32 lines
1.7 KiB
Diff
- // MIR for `dont_opt` before RemoveUnneededDrops
|
|
+ // MIR for `dont_opt` after RemoveUnneededDrops
|
|
|
|
fn dont_opt(_1: Vec<bool>) -> () {
|
|
debug x => _1; // in scope 0 at $DIR/remove_unneeded_drops.rs:+0:13: +0:14
|
|
let mut _0: (); // return place in scope 0 at $DIR/remove_unneeded_drops.rs:+0:27: +0:27
|
|
let _2: (); // in scope 0 at $DIR/remove_unneeded_drops.rs:+1:5: +1:12
|
|
let mut _3: std::vec::Vec<bool>; // in scope 0 at $DIR/remove_unneeded_drops.rs:+1:10: +1:11
|
|
scope 1 (inlined std::mem::drop::<Vec<bool>>) { // at $DIR/remove_unneeded_drops.rs:9:5: 9:12
|
|
debug _x => _3; // in scope 1 at $SRC_DIR/core/src/mem/mod.rs:LL:COL
|
|
}
|
|
|
|
bb0: {
|
|
nop; // scope 0 at $DIR/remove_unneeded_drops.rs:+1:5: +1:12
|
|
StorageLive(_3); // scope 0 at $DIR/remove_unneeded_drops.rs:+1:10: +1:11
|
|
_3 = move _1; // scope 0 at $DIR/remove_unneeded_drops.rs:+1:10: +1:11
|
|
drop(_3) -> [return: bb2, unwind: bb1]; // scope 1 at $SRC_DIR/core/src/mem/mod.rs:LL:COL
|
|
}
|
|
|
|
bb1 (cleanup): {
|
|
resume; // scope 0 at $DIR/remove_unneeded_drops.rs:+0:1: +2:2
|
|
}
|
|
|
|
bb2: {
|
|
StorageDead(_3); // scope 0 at $DIR/remove_unneeded_drops.rs:+1:11: +1:12
|
|
nop; // scope 0 at $DIR/remove_unneeded_drops.rs:+1:12: +1:13
|
|
nop; // scope 0 at $DIR/remove_unneeded_drops.rs:+0:27: +2:2
|
|
return; // scope 0 at $DIR/remove_unneeded_drops.rs:+2:2: +2:2
|
|
}
|
|
}
|
|
|