|
7 | 7 | let mut _2: std::pin::Pin<&mut {generator@$DIR/inline_generator.rs:16:5: 16:8}>; |
8 | 8 | let mut _3: &mut {generator@$DIR/inline_generator.rs:16:5: 16:8}; |
9 | 9 | let mut _4: {generator@$DIR/inline_generator.rs:16:5: 16:8}; |
10 | | -+ let mut _6: bool; |
| 10 | ++ let mut _5: bool; |
11 | 11 | scope 1 { |
12 | 12 | debug _r => _1; |
13 | 13 | } |
14 | 14 | + scope 2 (inlined g) { |
15 | | -+ let mut _5: {generator@$DIR/inline_generator.rs:16:5: 16:8}; |
16 | 15 | + } |
17 | 16 | + scope 3 (inlined Pin::<&mut {generator@$DIR/inline_generator.rs:16:5: 16:8}>::new) { |
18 | 17 | + debug pointer => _3; |
|
23 | 22 | + } |
24 | 23 | + } |
25 | 24 | + scope 6 (inlined g::{closure#0}) { |
26 | | -+ debug a => _6; |
27 | | -+ let mut _7: &mut {generator@$DIR/inline_generator.rs:16:5: 16:8}; |
28 | | -+ let mut _8: u32; |
29 | | -+ let mut _9: i32; |
| 25 | ++ debug a => _5; |
| 26 | ++ let mut _6: &mut {generator@$DIR/inline_generator.rs:16:5: 16:8}; |
| 27 | ++ let mut _7: u32; |
| 28 | ++ let mut _8: i32; |
30 | 29 | + } |
31 | 30 |
|
32 | 31 | bb0: { |
|
38 | 37 | - } |
39 | 38 | - |
40 | 39 | - bb1: { |
41 | | -+ StorageLive(_5); |
42 | | -+ _5 = {generator@$DIR/inline_generator.rs:16:5: 16:8 (#0)}; |
43 | | -+ _4 = move (_5 as subtype {generator@$DIR/inline_generator.rs:16:5: 16:8}); |
44 | | -+ StorageDead(_5); |
| 40 | ++ _4 = {generator@$DIR/inline_generator.rs:16:5: 16:8 (#0)}; |
45 | 41 | _3 = &mut _4; |
46 | 42 | - _2 = Pin::<&mut {generator@$DIR/inline_generator.rs:16:5: 16:8}>::new(move _3) -> [return: bb2, unwind: bb5]; |
47 | 43 | - } |
|
50 | 46 | + _2 = Pin::<&mut {generator@$DIR/inline_generator.rs:16:5: 16:8}> { pointer: move _3 }; |
51 | 47 | StorageDead(_3); |
52 | 48 | - _1 = <{generator@$DIR/inline_generator.rs:16:5: 16:8} as Generator<bool>>::resume(move _2, const false) -> [return: bb3, unwind: bb5]; |
| 49 | ++ StorageLive(_5); |
| 50 | ++ _5 = const false; |
53 | 51 | + StorageLive(_6); |
54 | | -+ _6 = const false; |
55 | 52 | + StorageLive(_7); |
56 | | -+ StorageLive(_8); |
57 | | -+ _7 = (_2.0: &mut {generator@$DIR/inline_generator.rs:16:5: 16:8}); |
58 | | -+ _8 = discriminant((*_7)); |
59 | | -+ switchInt(move _8) -> [0: bb5, 1: bb9, 3: bb10, otherwise: bb11]; |
| 53 | ++ _6 = (_2.0: &mut {generator@$DIR/inline_generator.rs:16:5: 16:8}); |
| 54 | ++ _7 = discriminant((*_6)); |
| 55 | ++ switchInt(move _7) -> [0: bb5, 1: bb9, 3: bb10, otherwise: bb11]; |
60 | 56 | } |
61 | 57 |
|
62 | 58 | - bb3: { |
63 | 59 | + bb1: { |
64 | | -+ StorageDead(_8); |
65 | 60 | + StorageDead(_7); |
66 | 61 | + StorageDead(_6); |
| 62 | ++ StorageDead(_5); |
67 | 63 | StorageDead(_2); |
68 | 64 | - drop(_4) -> [return: bb4, unwind: bb6]; |
69 | 65 | + drop(_4) -> [return: bb2, unwind: bb4]; |
|
89 | 85 | + } |
90 | 86 | + |
91 | 87 | + bb5: { |
92 | | -+ StorageLive(_9); |
93 | | -+ switchInt(_6) -> [0: bb6, otherwise: bb7]; |
| 88 | ++ StorageLive(_8); |
| 89 | ++ switchInt(_5) -> [0: bb6, otherwise: bb7]; |
94 | 90 | + } |
95 | 91 | + |
96 | 92 | + bb6: { |
97 | | -+ _9 = const 13_i32; |
| 93 | ++ _8 = const 13_i32; |
98 | 94 | + goto -> bb8; |
99 | 95 | + } |
100 | 96 | + |
101 | 97 | + bb7: { |
102 | | -+ _9 = const 7_i32; |
| 98 | ++ _8 = const 7_i32; |
103 | 99 | + goto -> bb8; |
104 | 100 | + } |
105 | 101 | + |
106 | 102 | + bb8: { |
107 | | -+ _1 = GeneratorState::<i32, bool>::Yielded(move _9); |
108 | | -+ discriminant((*_7)) = 3; |
| 103 | ++ _1 = GeneratorState::<i32, bool>::Yielded(move _8); |
| 104 | ++ discriminant((*_6)) = 3; |
109 | 105 | + goto -> bb1; |
110 | 106 | + } |
111 | 107 | + |
|
114 | 110 | + } |
115 | 111 | + |
116 | 112 | + bb10: { |
117 | | -+ StorageLive(_9); |
118 | | -+ StorageDead(_9); |
119 | | -+ _1 = GeneratorState::<i32, bool>::Complete(_6); |
120 | | -+ discriminant((*_7)) = 1; |
| 113 | ++ StorageLive(_8); |
| 114 | ++ StorageDead(_8); |
| 115 | ++ _1 = GeneratorState::<i32, bool>::Complete(_5); |
| 116 | ++ discriminant((*_6)) = 1; |
121 | 117 | + goto -> bb1; |
122 | 118 | + } |
123 | 119 | + |
|
0 commit comments