|
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]; |
53 | | -+ StorageLive(_6); |
54 | | -+ _6 = const false; |
55 | | -+ _7 = (_2.0: &mut {generator@$DIR/inline_generator.rs:16:5: 16:8}); |
56 | | -+ _8 = discriminant((*_7)); |
57 | | -+ switchInt(move _8) -> [0: bb5, 1: bb9, 3: bb10, otherwise: bb11]; |
| 49 | ++ StorageLive(_5); |
| 50 | ++ _5 = const false; |
| 51 | ++ _6 = (_2.0: &mut {generator@$DIR/inline_generator.rs:16:5: 16:8}); |
| 52 | ++ _7 = discriminant((*_6)); |
| 53 | ++ switchInt(move _7) -> [0: bb5, 1: bb9, 3: bb10, otherwise: bb11]; |
58 | 54 | } |
59 | 55 |
|
60 | 56 | - bb3: { |
61 | 57 | + bb1: { |
62 | | -+ StorageDead(_6); |
| 58 | ++ StorageDead(_5); |
63 | 59 | StorageDead(_2); |
64 | 60 | - drop(_4) -> [return: bb4, unwind: bb6]; |
65 | 61 | + drop(_4) -> [return: bb2, unwind: bb4]; |
|
85 | 81 | + } |
86 | 82 | + |
87 | 83 | + bb5: { |
88 | | -+ StorageLive(_9); |
89 | | -+ switchInt(_6) -> [0: bb6, otherwise: bb7]; |
| 84 | ++ StorageLive(_8); |
| 85 | ++ switchInt(_5) -> [0: bb6, otherwise: bb7]; |
90 | 86 | + } |
91 | 87 | + |
92 | 88 | + bb6: { |
93 | | -+ _9 = const 13_i32; |
| 89 | ++ _8 = const 13_i32; |
94 | 90 | + goto -> bb8; |
95 | 91 | + } |
96 | 92 | + |
97 | 93 | + bb7: { |
98 | | -+ _9 = const 7_i32; |
| 94 | ++ _8 = const 7_i32; |
99 | 95 | + goto -> bb8; |
100 | 96 | + } |
101 | 97 | + |
102 | 98 | + bb8: { |
103 | | -+ _1 = GeneratorState::<i32, bool>::Yielded(move _9); |
104 | | -+ discriminant((*_7)) = 3; |
| 99 | ++ _1 = GeneratorState::<i32, bool>::Yielded(move _8); |
| 100 | ++ discriminant((*_6)) = 3; |
105 | 101 | + goto -> bb1; |
106 | 102 | + } |
107 | 103 | + |
|
110 | 106 | + } |
111 | 107 | + |
112 | 108 | + bb10: { |
113 | | -+ StorageLive(_9); |
114 | | -+ StorageDead(_9); |
115 | | -+ _1 = GeneratorState::<i32, bool>::Complete(_6); |
116 | | -+ discriminant((*_7)) = 1; |
| 109 | ++ StorageLive(_8); |
| 110 | ++ StorageDead(_8); |
| 111 | ++ _1 = GeneratorState::<i32, bool>::Complete(_5); |
| 112 | ++ discriminant((*_6)) = 1; |
117 | 113 | + goto -> bb1; |
118 | 114 | + } |
119 | 115 | + |
|
0 commit comments