| - // 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 continue]; |
| } |
| |
| bb1: { |
| _1 = Box::<Box<u32>>::new(move _2) -> [return: bb2, unwind: bb4]; |
| } |
| |
| bb2: { |
| StorageDead(_2); |
| drop(_1) -> [return: bb3, unwind continue]; |
| } |
| |
| bb3: { |
| StorageDead(_1); |
| _0 = const (); |
| return; |
| } |
| |
| bb4 (cleanup): { |
| drop(_2) -> [return: bb5, unwind terminate(cleanup)]; |
| } |
| |
| bb5 (cleanup): { |
| resume; |
| } |
| } |
| |