]>
Commit | Line | Data |
---|---|---|
5869c6ff XL |
1 | - // MIR for `main` before Inline |
2 | + // MIR for `main` after Inline | |
3 | ||
4 | fn main() -> () { | |
064997fb FG |
5 | let mut _0: (); // return place in scope 0 at $DIR/cycle.rs:+0:11: +0:11 |
6 | let _1: (); // in scope 0 at $DIR/cycle.rs:+1:5: +1:9 | |
7 | + let mut _2: fn() {g}; // in scope 0 at $DIR/cycle.rs:+1:5: +1:9 | |
353b0b11 | 8 | + let mut _5: (); // in scope 0 at $DIR/cycle.rs:6:5: 6:8 |
04454e1e | 9 | + scope 1 (inlined f::<fn() {g}>) { // at $DIR/cycle.rs:17:5: 17:9 |
f2b60f7d FG |
10 | + debug g => _2; // in scope 1 at $DIR/cycle.rs:5:6: 5:7 |
11 | + let _3: (); // in scope 1 at $DIR/cycle.rs:6:5: 6:8 | |
12 | + let mut _4: &fn() {g}; // in scope 1 at $DIR/cycle.rs:6:5: 6:6 | |
9c376795 FG |
13 | + scope 2 (inlined <fn() {g} as Fn<()>>::call - shim(fn() {g})) { // at $DIR/cycle.rs:6:5: 6:8 |
14 | + } | |
04454e1e | 15 | + } |
5869c6ff XL |
16 | |
17 | bb0: { | |
064997fb FG |
18 | StorageLive(_1); // scope 0 at $DIR/cycle.rs:+1:5: +1:9 |
19 | - _1 = f::<fn() {g}>(g) -> bb1; // scope 0 at $DIR/cycle.rs:+1:5: +1:9 | |
20 | + StorageLive(_2); // scope 0 at $DIR/cycle.rs:+1:5: +1:9 | |
21 | + _2 = g; // scope 0 at $DIR/cycle.rs:+1:5: +1:9 | |
5869c6ff | 22 | // mir::Constant |
04454e1e | 23 | - // + span: $DIR/cycle.rs:17:5: 17:6 |
064997fb | 24 | - // + literal: Const { ty: fn(fn() {g}) {f::<fn() {g}>}, val: Value(<ZST>) } |
04454e1e | 25 | - // mir::Constant |
5869c6ff | 26 | // + span: $DIR/cycle.rs:17:7: 17:8 |
064997fb | 27 | // + literal: Const { ty: fn() {g}, val: Value(<ZST>) } |
353b0b11 | 28 | + StorageLive(_3); // scope 0 at $DIR/cycle.rs:+1:5: +1:9 |
f2b60f7d FG |
29 | + StorageLive(_4); // scope 1 at $DIR/cycle.rs:6:5: 6:6 |
30 | + _4 = &_2; // scope 1 at $DIR/cycle.rs:6:5: 6:6 | |
31 | + StorageLive(_5); // scope 1 at $DIR/cycle.rs:6:5: 6:8 | |
353b0b11 | 32 | + _5 = const (); // scope 1 at $DIR/cycle.rs:6:5: 6:8 |
9c376795 | 33 | + _3 = move (*_4)() -> [return: bb4, unwind: bb2]; // scope 2 at $SRC_DIR/core/src/ops/function.rs:LL:COL |
5869c6ff XL |
34 | } |
35 | ||
36 | bb1: { | |
353b0b11 | 37 | + StorageDead(_3); // scope 0 at $DIR/cycle.rs:+1:5: +1:9 |
064997fb FG |
38 | + StorageDead(_2); // scope 0 at $DIR/cycle.rs:+1:5: +1:9 |
39 | StorageDead(_1); // scope 0 at $DIR/cycle.rs:+1:9: +1:10 | |
40 | _0 = const (); // scope 0 at $DIR/cycle.rs:+0:11: +2:2 | |
41 | return; // scope 0 at $DIR/cycle.rs:+2:2: +2:2 | |
04454e1e FG |
42 | + } |
43 | + | |
9c376795 | 44 | + bb2 (cleanup): { |
353b0b11 | 45 | + drop(_2) -> [return: bb3, unwind terminate]; // scope 1 at $DIR/cycle.rs:7:1: 7:2 |
04454e1e FG |
46 | + } |
47 | + | |
48 | + bb3 (cleanup): { | |
9c376795 | 49 | + resume; // scope 1 at $DIR/cycle.rs:5:1: 7:2 |
04454e1e FG |
50 | + } |
51 | + | |
9c376795 | 52 | + bb4: { |
353b0b11 | 53 | + StorageDead(_5); // scope 1 at $DIR/cycle.rs:6:5: 6:8 |
9c376795 | 54 | + StorageDead(_4); // scope 1 at $DIR/cycle.rs:6:7: 6:8 |
9c376795 | 55 | + drop(_2) -> bb1; // scope 1 at $DIR/cycle.rs:7:1: 7:2 |
5869c6ff XL |
56 | } |
57 | } | |
58 |