- // MIR for `caller` before Inline + // MIR for `caller` after Inline fn caller(_1: Box<[i32]>) -> () { debug x => _1; let mut _0: (); let _2: (); let mut _3: std::boxed::Box<[i32]>; let mut _4: &mut std::boxed::Box<[i32]>; let mut _5: (); let mut _6: &mut std::boxed::Box<[i32]>; let mut _7: (); let mut _8: &mut std::boxed::Box<[i32]>; let mut _9: (); let mut _10: *const [i32]; bb0: { StorageLive(_2); StorageLive(_3); _3 = move _1; _10 = (((_3.0: std::ptr::Unique<[i32]>).0: std::ptr::NonNull<[i32]>).0: *const [i32]); _2 = callee(move (*_10)) -> [return: bb3, unwind: bb4]; } bb1 (cleanup): { resume; } bb2: { StorageDead(_3); StorageDead(_2); _0 = const (); return; } bb3: { _4 = &mut _3; _5 = as Drop>::drop(move _4) -> [return: bb2, unwind: bb1]; } bb4 (cleanup): { _8 = &mut _3; _9 = as Drop>::drop(move _8) -> [return: bb1, unwind terminate]; } }