- // MIR for `b` before Inline + // MIR for `b` after Inline fn b() -> () { let mut _0: (); let _1: (); let mut _2: (); let _3: (); let mut _4: (); + let mut _5: fn() {b}; + let mut _6: fn() {a}; + scope 1 (inlined >::call_once - shim(fn() {b})) { + } + scope 2 (inlined >::call_once - shim(fn() {a})) { + } bb0: { StorageLive(_1); StorageLive(_2); _2 = (); - _1 = >::call_once(b, move _2) -> [return: bb1, unwind unreachable]; + StorageLive(_5); + _5 = b; + _1 = move _5() -> [return: bb1, unwind unreachable]; } bb1: { + StorageDead(_5); StorageDead(_2); StorageDead(_1); StorageLive(_3); StorageLive(_4); _4 = (); - _3 = >::call_once(a, move _4) -> [return: bb2, unwind unreachable]; + StorageLive(_6); + _6 = a; + _3 = move _6() -> [return: bb2, unwind unreachable]; } bb2: { + StorageDead(_6); StorageDead(_4); StorageDead(_3); _0 = const (); return; } }