1 - // MIR for `opt_generic_copy` before RemoveUnneededDrops
2 + // MIR for `opt_generic_copy` after RemoveUnneededDrops
4 fn opt_generic_copy(_1: T) -> () {
5 debug x => _1; // in scope 0 at $DIR/remove_unneeded_drops.rs:13:30: 13:31
6 let mut _0: (); // return place in scope 0 at $DIR/remove_unneeded_drops.rs:13:36: 13:36
7 let _2: (); // in scope 0 at $DIR/remove_unneeded_drops.rs:14:5: 14:12
8 let mut _3: T; // in scope 0 at $DIR/remove_unneeded_drops.rs:14:10: 14:11
9 scope 1 (inlined std::mem::drop::<T>) { // at $DIR/remove_unneeded_drops.rs:14:5: 14:12
10 debug _x => _3; // in scope 1 at $SRC_DIR/core/src/mem/mod.rs:LL:COL
14 StorageLive(_2); // scope 0 at $DIR/remove_unneeded_drops.rs:14:5: 14:12
15 StorageLive(_3); // scope 0 at $DIR/remove_unneeded_drops.rs:14:10: 14:11
16 _3 = _1; // scope 0 at $DIR/remove_unneeded_drops.rs:14:10: 14:11
17 - drop(_3) -> bb1; // scope 1 at $SRC_DIR/core/src/mem/mod.rs:LL:COL
21 StorageDead(_3); // scope 0 at $DIR/remove_unneeded_drops.rs:14:11: 14:12
22 StorageDead(_2); // scope 0 at $DIR/remove_unneeded_drops.rs:14:12: 14:13
23 - nop; // scope 0 at $DIR/remove_unneeded_drops.rs:13:36: 15:2
24 return; // scope 0 at $DIR/remove_unneeded_drops.rs:15:2: 15:2
28 - resume; // scope 0 at $DIR/remove_unneeded_drops.rs:13:1: 15:2