| - // MIR for `main` before Derefer | |
| + // MIR for `main` after Derefer | |
| fn main() -> () { | |
| let mut _0: (); | |
| let _1: std::boxed::Box<std::boxed::Box<u32>>; | |
| let mut _2: std::boxed::Box<u32>; | |
| bb0: { | |
| StorageLive(_1); | |
| StorageLive(_2); | |
| _2 = f() -> [return: bb1, unwind: bb5]; | |
| } | |
| bb1: { | |
| _1 = Box::<Box<u32>>::new(move _2) -> [return: bb2, unwind: bb4]; | |
| } | |
| bb2: { | |
| StorageDead(_2); | |
| drop(_1) -> [return: bb3, unwind: bb5]; | |
| } | |
| bb3: { | |
| StorageDead(_1); | |
| _0 = const (); | |
| return; | |
| } | |
| bb4 (cleanup): { | |
| drop(_2) -> [return: bb5, unwind terminate(cleanup)]; | |
| } | |
| bb5 (cleanup): { | |
| resume; | |
| } | |
| } | |