| - // MIR for `test` before Inline |
| + // MIR for `test` after Inline |
| |
| fn test() -> i32 { |
| let mut _0: i32; |
| - |
| - bb0: { |
| - _0 = inline_fn::<fn() -> i32 {yield_number}>(yield_number) -> [return: bb1, unwind unreachable]; |
| + let mut _1: fn() -> i32 {yield_number}; |
| + scope 1 (inlined inline_fn::<fn() -> i32 {yield_number}>) { |
| + let mut _2: fn() -> i32 {yield_number}; |
| + let mut _3: (); |
| + scope 2 (inlined <fn() -> 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; |
| } |
| } |
| |