1 - // MIR for `g` before Inline
2 + // MIR for `g` after Inline
5 let mut _0: (); // return place in scope 0 at $DIR/cycle.rs:+0:8: +0:8
6 let _1: (); // in scope 0 at $DIR/cycle.rs:+1:5: +1:12
7 + let mut _2: fn() {main}; // in scope 0 at $DIR/cycle.rs:+1:5: +1:12
8 + scope 1 (inlined f::<fn() {main}>) { // at $DIR/cycle.rs:12:5: 12:12
9 + debug g => _2; // in scope 1 at $DIR/cycle.rs:5:6: 5:7
10 + let _3: (); // in scope 1 at $DIR/cycle.rs:6:5: 6:8
11 + let mut _4: &fn() {main}; // in scope 1 at $DIR/cycle.rs:6:5: 6:6
12 + let mut _5: (); // in scope 1 at $DIR/cycle.rs:6:5: 6:8
16 StorageLive(_1); // scope 0 at $DIR/cycle.rs:+1:5: +1:12
17 - _1 = f::<fn() {main}>(main) -> bb1; // scope 0 at $DIR/cycle.rs:+1:5: +1:12
18 + StorageLive(_2); // scope 0 at $DIR/cycle.rs:+1:5: +1:12
19 + _2 = main; // scope 0 at $DIR/cycle.rs:+1:5: +1:12
21 - // + span: $DIR/cycle.rs:12:5: 12:6
22 - // + literal: Const { ty: fn(fn() {main}) {f::<fn() {main}>}, val: Value(<ZST>) }
24 // + span: $DIR/cycle.rs:12:7: 12:11
25 // + literal: Const { ty: fn() {main}, val: Value(<ZST>) }
26 + StorageLive(_3); // scope 1 at $DIR/cycle.rs:6:5: 6:8
27 + StorageLive(_4); // scope 1 at $DIR/cycle.rs:6:5: 6:6
28 + _4 = &_2; // scope 1 at $DIR/cycle.rs:6:5: 6:6
29 + StorageLive(_5); // scope 1 at $DIR/cycle.rs:6:5: 6:8
30 + _3 = <fn() {main} as Fn<()>>::call(move _4, move _5) -> [return: bb2, unwind: bb3]; // scope 1 at $DIR/cycle.rs:6:5: 6:8
32 + // + span: $DIR/cycle.rs:6:5: 6:6
33 + // + literal: Const { ty: for<'a> extern "rust-call" fn(&'a fn() {main}, ()) -> <fn() {main} as FnOnce<()>>::Output {<fn() {main} as Fn<()>>::call}, val: Value(<ZST>) }
37 + StorageDead(_2); // scope 0 at $DIR/cycle.rs:+1:5: +1:12
38 StorageDead(_1); // scope 0 at $DIR/cycle.rs:+1:12: +1:13
39 _0 = const (); // scope 0 at $DIR/cycle.rs:+0:8: +2:2
40 return; // scope 0 at $DIR/cycle.rs:+2:2: +2:2
44 + StorageDead(_5); // scope 1 at $DIR/cycle.rs:6:7: 6:8
45 + StorageDead(_4); // scope 1 at $DIR/cycle.rs:6:7: 6:8
46 + StorageDead(_3); // scope 1 at $DIR/cycle.rs:6:8: 6:9
47 + drop(_2) -> bb1; // scope 1 at $DIR/cycle.rs:7:1: 7:2
51 + drop(_2) -> bb4; // scope 1 at $DIR/cycle.rs:7:1: 7:2
55 + resume; // scope 1 at $DIR/cycle.rs:5:1: 7:2