- // MIR for `test` before Inline + // MIR for `test` after Inline fn test() -> i32 { let mut _0: i32; - - bb0: { - _0 = inline_fn:: i32 {yield_number}>(yield_number) -> [return: bb1, unwind unreachable]; + let mut _1: fn() -> i32 {yield_number}; + scope 1 (inlined inline_fn:: i32 {yield_number}>) { + let mut _2: fn() -> i32 {yield_number}; + let mut _3: (); + scope 2 (inlined i32 {yield_number} as FnOnce<()>>::call_once - shim(fn() -> i32 {yield_number})) { + scope 3 (inlined yield_number) { + } + } } - bb1: { + bb0: { + StorageLive(_1); + _1 = yield_number; + StorageLive(_2); + _2 = move _1; + StorageLive(_3); + _3 = (); + _0 = const 64_i32; + StorageDead(_3); + StorageDead(_2); + StorageDead(_1); return; } }