| - // MIR for `main` before ElaborateDrops |
| + // MIR for `main` after ElaborateDrops |
| let _1: std::boxed::Box<S>; |
| let mut _5: std::boxed::Box<S>; |
| let mut _7: std::boxed::Box<S>; |
| + let mut _8: &mut std::boxed::Box<S>; |
| _4 = alloc::alloc::exchange_malloc(move _2, move _3) -> [return: bb1, unwind continue]; |
| _5 = ShallowInitBox(move _4, S); |
| (*_5) = S::new() -> [return: bb2, unwind: bb8]; |
| - drop(_5) -> [return: bb3, unwind continue]; |
| _6 = std::mem::drop::<Box<S>>(move _7) -> [return: bb4, unwind: bb6]; |
| - drop(_1) -> [return: bb5, unwind continue]; |
| - drop(_7) -> [return: bb7, unwind terminate(cleanup)]; |
| - drop(_1) -> [return: bb9, unwind terminate(cleanup)]; |
| - drop(_5) -> [return: bb9, unwind terminate(cleanup)]; |
| + _9 = <Box<S> as Drop>::drop(move _8) -> [return: bb9, unwind terminate(cleanup)]; |