|
4 | 4 | fn main() -> () {
|
5 | 5 | let mut _0: ();
|
6 | 6 | let _1: std::ops::CoroutineState<i32, bool>;
|
7 |
| - let mut _2: std::pin::Pin<&mut {coroutine@$DIR/inline_coroutine.rs:17:5: 17:8}>; |
8 |
| - let mut _3: &mut {coroutine@$DIR/inline_coroutine.rs:17:5: 17:8}; |
9 |
| - let mut _4: {coroutine@$DIR/inline_coroutine.rs:17:5: 17:8}; |
| 7 | + let mut _2: std::pin::Pin<&mut {coroutine@$DIR/inline_coroutine.rs:19:5: 19:8}>; |
| 8 | + let mut _3: &mut {coroutine@$DIR/inline_coroutine.rs:19:5: 19:8}; |
| 9 | + let mut _4: {coroutine@$DIR/inline_coroutine.rs:19:5: 19:8}; |
10 | 10 | + let mut _5: bool;
|
11 | 11 | scope 1 {
|
12 | 12 | debug _r => _1;
|
13 | 13 | }
|
14 | 14 | + scope 2 (inlined g) {
|
15 | 15 | + }
|
16 |
| -+ scope 3 (inlined Pin::<&mut {coroutine@$DIR/inline_coroutine.rs:17:5: 17:8}>::new) { |
| 16 | ++ scope 3 (inlined Pin::<&mut {coroutine@$DIR/inline_coroutine.rs:19:5: 19:8}>::new) { |
17 | 17 | + debug pointer => _3;
|
18 | 18 | + scope 4 {
|
19 |
| -+ scope 5 (inlined Pin::<&mut {coroutine@$DIR/inline_coroutine.rs:17:5: 17:8}>::new_unchecked) { |
| 19 | ++ scope 5 (inlined Pin::<&mut {coroutine@$DIR/inline_coroutine.rs:19:5: 19:8}>::new_unchecked) { |
20 | 20 | + debug pointer => _3;
|
21 | 21 | + }
|
22 | 22 | + }
|
23 | 23 | + }
|
24 | 24 | + scope 6 (inlined g::{closure#0}) {
|
25 | 25 | + debug a => _5;
|
26 |
| -+ let mut _6: &mut {coroutine@$DIR/inline_coroutine.rs:17:5: 17:8}; |
| 26 | ++ let mut _6: &mut {coroutine@$DIR/inline_coroutine.rs:19:5: 19:8}; |
27 | 27 | + let mut _7: u32;
|
28 | 28 | + let mut _8: i32;
|
29 | 29 | + }
|
|
34 | 34 | StorageLive(_3);
|
35 | 35 | StorageLive(_4);
|
36 | 36 | - _4 = g() -> [return: bb1, unwind unreachable];
|
37 |
| -+ _4 = {coroutine@$DIR/inline_coroutine.rs:17:5: 17:8 (#0)}; |
| 37 | ++ _4 = {coroutine@$DIR/inline_coroutine.rs:19:5: 19:8 (#0)}; |
38 | 38 | + _3 = &mut _4;
|
39 |
| -+ _2 = Pin::<&mut {coroutine@$DIR/inline_coroutine.rs:17:5: 17:8}> { pointer: move _3 }; |
| 39 | ++ _2 = Pin::<&mut {coroutine@$DIR/inline_coroutine.rs:19:5: 19:8}> { pointer: move _3 }; |
40 | 40 | + StorageDead(_3);
|
41 | 41 | + StorageLive(_5);
|
42 | 42 | + _5 = const false;
|
43 | 43 | + StorageLive(_6);
|
44 | 44 | + StorageLive(_7);
|
45 |
| -+ _6 = (_2.0: &mut {coroutine@$DIR/inline_coroutine.rs:17:5: 17:8}); |
| 45 | ++ _6 = (_2.0: &mut {coroutine@$DIR/inline_coroutine.rs:19:5: 19:8}); |
46 | 46 | + _7 = discriminant((*_6));
|
47 | 47 | + switchInt(move _7) -> [0: bb3, 1: bb7, 3: bb8, otherwise: bb9];
|
48 | 48 | }
|
49 | 49 |
|
50 | 50 | bb1: {
|
51 | 51 | - _3 = &mut _4;
|
52 |
| -- _2 = Pin::<&mut {coroutine@$DIR/inline_coroutine.rs:17:5: 17:8}>::new(move _3) -> [return: bb2, unwind unreachable]; |
| 52 | +- _2 = Pin::<&mut {coroutine@$DIR/inline_coroutine.rs:19:5: 19:8}>::new(move _3) -> [return: bb2, unwind unreachable]; |
53 | 53 | + StorageDead(_7);
|
54 | 54 | + StorageDead(_6);
|
55 | 55 | + StorageDead(_5);
|
|
59 | 59 |
|
60 | 60 | bb2: {
|
61 | 61 | - StorageDead(_3);
|
62 |
| -- _1 = <{coroutine@$DIR/inline_coroutine.rs:17:5: 17:8} as Coroutine<bool>>::resume(move _2, const false) -> [return: bb3, unwind unreachable]; |
| 62 | +- _1 = <{coroutine@$DIR/inline_coroutine.rs:19:5: 19:8} as Coroutine<bool>>::resume(move _2, const false) -> [return: bb3, unwind unreachable]; |
63 | 63 | + StorageDead(_4);
|
64 | 64 | + _0 = const ();
|
65 | 65 | + StorageDead(_1);
|
|
0 commit comments