| - // MIR for `h` before Inline |
| + // MIR for `h` after Inline |
| |
| fn h() -> () { |
| let mut _0: (); |
| let _1: (!, !); |
| + let mut _2: fn() -> ! {sleep}; |
| + let mut _7: (); |
| + let mut _8: (); |
| + scope 1 (inlined call_twice::<!, fn() -> ! {sleep}>) { |
| + debug f => _2; |
| + let mut _3: &fn() -> ! {sleep}; |
| + let _4: !; |
| + let mut _5: &fn() -> ! {sleep}; |
| + scope 2 { |
| + debug a => _4; |
| + let _6: !; |
| + scope 3 { |
| + debug b => _6; |
| + } |
| + scope 6 (inlined <fn() -> ! {sleep} as Fn<()>>::call - shim(fn() -> ! {sleep})) { |
| + scope 7 (inlined sleep) { |
| + } |
| + } |
| + } |
| + scope 4 (inlined <fn() -> ! {sleep} as Fn<()>>::call - shim(fn() -> ! {sleep})) { |
| + scope 5 (inlined sleep) { |
| + } |
| + } |
| + } |
| |
| bb0: { |
| StorageLive(_1); |
| - _1 = call_twice::<!, fn() -> ! {sleep}>(sleep) -> unwind unreachable; |
| + StorageLive(_2); |
| + _2 = sleep; |
| + StorageLive(_4); |
| + StorageLive(_6); |
| + StorageLive(_3); |
| + _3 = &_2; |
| + StorageLive(_7); |
| + _7 = const (); |
| + goto -> bb1; |
| + } |
| + |
| + bb1: { |
| + goto -> bb1; |
| } |
| } |
| |