- // MIR for `g` before Inline + // MIR for `g` after Inline fn g() -> () { let mut _0: (); let _1: (); + let mut _2: fn() {main}; + scope 1 (inlined f::) { + debug g => _2; + let mut _3: &fn() {main}; + let _4: (); + } bb0: { StorageLive(_1); - _1 = f::(main) -> [return: bb1, unwind continue]; + StorageLive(_2); + _2 = main; + StorageLive(_4); + StorageLive(_3); + _3 = &_2; + _4 = >::call(move _3, const ()) -> [return: bb2, unwind: bb3]; } bb1: { + StorageDead(_4); + StorageDead(_2); StorageDead(_1); _0 = const (); return; + } + + bb2: { + StorageDead(_3); + drop(_2) -> [return: bb1, unwind continue]; + } + + bb3 (cleanup): { + drop(_2) -> [return: bb4, unwind terminate]; + } + + bb4 (cleanup): { + resume; } }