|
7 | 7 | let mut _2: std::pin::Pin<&mut [generator@$DIR/inline_generator.rs:15:5: 15:8]>; // in scope 0 at $DIR/inline_generator.rs:+1:14: +1:32
|
8 | 8 | let mut _3: &mut [generator@$DIR/inline_generator.rs:15:5: 15:8]; // in scope 0 at $DIR/inline_generator.rs:+1:23: +1:31
|
9 | 9 | let mut _4: [generator@$DIR/inline_generator.rs:15:5: 15:8]; // in scope 0 at $DIR/inline_generator.rs:+1:28: +1:31
|
10 |
| -+ let mut _6: bool; // in scope 0 at $DIR/inline_generator.rs:+1:33: +1:46 |
| 10 | ++ let mut _7: bool; // in scope 0 at $DIR/inline_generator.rs:+1:33: +1:46 |
11 | 11 | scope 1 {
|
12 | 12 | debug _r => _1; // in scope 1 at $DIR/inline_generator.rs:+1:9: +1:11
|
13 | 13 | }
|
|
17 | 17 | + debug pointer => _3; // in scope 3 at $SRC_DIR/core/src/pin.rs:LL:COL
|
18 | 18 | + let mut _5: &mut [generator@$DIR/inline_generator.rs:15:5: 15:8]; // in scope 3 at $SRC_DIR/core/src/pin.rs:LL:COL
|
19 | 19 | + scope 4 {
|
| 20 | ++ scope 5 (inlined Pin::<&mut [generator@$DIR/inline_generator.rs:15:5: 15:8]>::new_unchecked) { // at $SRC_DIR/core/src/pin.rs:LL:COL |
| 21 | ++ debug pointer => _5; // in scope 5 at $SRC_DIR/core/src/pin.rs:LL:COL |
| 22 | ++ let mut _6: &mut [generator@$DIR/inline_generator.rs:15:5: 15:8]; // in scope 5 at $SRC_DIR/core/src/pin.rs:LL:COL |
| 23 | ++ } |
20 | 24 | + }
|
21 | 25 | + }
|
22 |
| -+ scope 5 (inlined g::{closure#0}) { // at $DIR/inline_generator.rs:9:33: 9:46 |
23 |
| -+ debug a => _6; // in scope 5 at $DIR/inline_generator.rs:15:6: 15:7 |
24 |
| -+ let mut _7: i32; // in scope 5 at $DIR/inline_generator.rs:15:17: 15:39 |
25 |
| -+ let mut _8: u32; // in scope 5 at $DIR/inline_generator.rs:15:5: 15:41 |
26 |
| -+ let mut _9: &mut [generator@$DIR/inline_generator.rs:15:5: 15:8]; // in scope 5 at $DIR/inline_generator.rs:15:5: 15:41 |
27 |
| -+ let mut _10: &mut [generator@$DIR/inline_generator.rs:15:5: 15:8]; // in scope 5 at $DIR/inline_generator.rs:15:5: 15:41 |
28 |
| -+ let mut _11: &mut [generator@$DIR/inline_generator.rs:15:5: 15:8]; // in scope 5 at $DIR/inline_generator.rs:15:5: 15:41 |
| 26 | ++ scope 6 (inlined g::{closure#0}) { // at $DIR/inline_generator.rs:9:33: 9:46 |
| 27 | ++ debug a => _7; // in scope 6 at $DIR/inline_generator.rs:15:6: 15:7 |
| 28 | ++ let mut _8: i32; // in scope 6 at $DIR/inline_generator.rs:15:17: 15:39 |
| 29 | ++ let mut _9: u32; // in scope 6 at $DIR/inline_generator.rs:15:5: 15:41 |
| 30 | ++ let mut _10: &mut [generator@$DIR/inline_generator.rs:15:5: 15:8]; // in scope 6 at $DIR/inline_generator.rs:15:5: 15:41 |
| 31 | ++ let mut _11: &mut [generator@$DIR/inline_generator.rs:15:5: 15:8]; // in scope 6 at $DIR/inline_generator.rs:15:5: 15:41 |
| 32 | ++ let mut _12: &mut [generator@$DIR/inline_generator.rs:15:5: 15:8]; // in scope 6 at $DIR/inline_generator.rs:15:5: 15:41 |
29 | 33 | + }
|
30 | 34 |
|
31 | 35 | bb0: {
|
|
44 | 48 | + discriminant(_4) = 0; // scope 2 at $DIR/inline_generator.rs:15:5: 15:41
|
45 | 49 | _3 = &mut _4; // scope 0 at $DIR/inline_generator.rs:+1:23: +1:31
|
46 | 50 | - _2 = Pin::<&mut [generator@$DIR/inline_generator.rs:15:5: 15:8]>::new(move _3) -> [return: bb2, unwind: bb4]; // scope 0 at $DIR/inline_generator.rs:+1:14: +1:32
|
47 |
| -+ StorageLive(_5); // scope 4 at $SRC_DIR/core/src/pin.rs:LL:COL |
48 |
| -+ _5 = move _3; // scope 4 at $SRC_DIR/core/src/pin.rs:LL:COL |
49 |
| -+ _2 = Pin::<&mut [generator@$DIR/inline_generator.rs:15:5: 15:8]>::new_unchecked(move _5) -> [return: bb3, unwind: bb2]; // scope 4 at $SRC_DIR/core/src/pin.rs:LL:COL |
50 |
| - // mir::Constant |
| 51 | +- // mir::Constant |
51 | 52 | - // + span: $DIR/inline_generator.rs:9:14: 9:22
|
52 |
| -+ // + span: $SRC_DIR/core/src/pin.rs:LL:COL |
53 |
| - // + user_ty: UserType(0) |
| 53 | +- // + user_ty: UserType(0) |
54 | 54 | - // + literal: Const { ty: fn(&mut [generator@$DIR/inline_generator.rs:15:5: 15:8]) -> Pin<&mut [generator@$DIR/inline_generator.rs:15:5: 15:8]> {Pin::<&mut [generator@$DIR/inline_generator.rs:15:5: 15:8]>::new}, val: Value(<ZST>) }
|
55 |
| -+ // + literal: Const { ty: unsafe fn(&mut [generator@$DIR/inline_generator.rs:15:5: 15:8]) -> Pin<&mut [generator@$DIR/inline_generator.rs:15:5: 15:8]> {Pin::<&mut [generator@$DIR/inline_generator.rs:15:5: 15:8]>::new_unchecked}, val: Value(<ZST>) } |
56 |
| - } |
57 |
| - |
| 55 | +- } |
| 56 | +- |
58 | 57 | - bb2: {
|
59 |
| -- StorageDead(_3); // scope 0 at $DIR/inline_generator.rs:+1:31: +1:32 |
| 58 | ++ StorageLive(_5); // scope 4 at $SRC_DIR/core/src/pin.rs:LL:COL |
| 59 | ++ _5 = move _3; // scope 4 at $SRC_DIR/core/src/pin.rs:LL:COL |
| 60 | ++ StorageLive(_6); // scope 5 at $SRC_DIR/core/src/pin.rs:LL:COL |
| 61 | ++ _6 = move _5; // scope 5 at $SRC_DIR/core/src/pin.rs:LL:COL |
| 62 | ++ Deinit(_2); // scope 5 at $SRC_DIR/core/src/pin.rs:LL:COL |
| 63 | ++ (_2.0: &mut [generator@$DIR/inline_generator.rs:15:5: 15:8]) = move _6; // scope 5 at $SRC_DIR/core/src/pin.rs:LL:COL |
| 64 | ++ StorageDead(_6); // scope 5 at $SRC_DIR/core/src/pin.rs:LL:COL |
| 65 | ++ StorageDead(_5); // scope 4 at $SRC_DIR/core/src/pin.rs:LL:COL |
| 66 | + StorageDead(_3); // scope 0 at $DIR/inline_generator.rs:+1:31: +1:32 |
60 | 67 | - _1 = <[generator@$DIR/inline_generator.rs:15:5: 15:8] as Generator<bool>>::resume(move _2, const false) -> [return: bb3, unwind: bb4]; // scope 0 at $DIR/inline_generator.rs:+1:14: +1:46
|
61 | 68 | - // mir::Constant
|
62 | 69 | - // + span: $DIR/inline_generator.rs:9:33: 9:39
|
63 | 70 | - // + literal: Const { ty: for<'a> fn(Pin<&'a mut [generator@$DIR/inline_generator.rs:15:5: 15:8]>, bool) -> GeneratorState<<[generator@$DIR/inline_generator.rs:15:5: 15:8] as Generator<bool>>::Yield, <[generator@$DIR/inline_generator.rs:15:5: 15:8] as Generator<bool>>::Return> {<[generator@$DIR/inline_generator.rs:15:5: 15:8] as Generator<bool>>::resume}, val: Value(<ZST>) }
|
64 |
| -- } |
65 |
| -- |
| 71 | ++ StorageLive(_7); // scope 0 at $DIR/inline_generator.rs:+1:33: +1:46 |
| 72 | ++ _7 = const false; // scope 0 at $DIR/inline_generator.rs:+1:33: +1:46 |
| 73 | ++ _10 = deref_copy (_2.0: &mut [generator@$DIR/inline_generator.rs:15:5: 15:8]); // scope 6 at $DIR/inline_generator.rs:15:5: 15:41 |
| 74 | ++ _9 = discriminant((*_10)); // scope 6 at $DIR/inline_generator.rs:15:5: 15:41 |
| 75 | ++ switchInt(move _9) -> [0: bb3, 1: bb8, 3: bb7, otherwise: bb9]; // scope 6 at $DIR/inline_generator.rs:15:5: 15:41 |
| 76 | + } |
| 77 | + |
66 | 78 | - bb3: {
|
67 | 79 | + bb1: {
|
68 |
| -+ StorageDead(_6); // scope 0 at $DIR/inline_generator.rs:+1:33: +1:46 |
| 80 | ++ StorageDead(_7); // scope 0 at $DIR/inline_generator.rs:+1:33: +1:46 |
69 | 81 | StorageDead(_2); // scope 0 at $DIR/inline_generator.rs:+1:45: +1:46
|
70 | 82 | StorageDead(_4); // scope 0 at $DIR/inline_generator.rs:+1:46: +1:47
|
71 | 83 | _0 = const (); // scope 0 at $DIR/inline_generator.rs:+0:11: +2:2
|
|
79 | 91 | + }
|
80 | 92 | +
|
81 | 93 | + bb3: {
|
82 |
| -+ StorageDead(_5); // scope 4 at $SRC_DIR/core/src/pin.rs:LL:COL |
83 |
| -+ StorageDead(_3); // scope 0 at $DIR/inline_generator.rs:+1:31: +1:32 |
84 |
| -+ StorageLive(_6); // scope 0 at $DIR/inline_generator.rs:+1:33: +1:46 |
85 |
| -+ _6 = const false; // scope 0 at $DIR/inline_generator.rs:+1:33: +1:46 |
86 |
| -+ _9 = deref_copy (_2.0: &mut [generator@$DIR/inline_generator.rs:15:5: 15:8]); // scope 5 at $DIR/inline_generator.rs:15:5: 15:41 |
87 |
| -+ _8 = discriminant((*_9)); // scope 5 at $DIR/inline_generator.rs:15:5: 15:41 |
88 |
| -+ switchInt(move _8) -> [0: bb4, 1: bb9, 3: bb8, otherwise: bb10]; // scope 5 at $DIR/inline_generator.rs:15:5: 15:41 |
| 94 | ++ StorageLive(_8); // scope 6 at $DIR/inline_generator.rs:15:17: 15:39 |
| 95 | ++ switchInt(move _7) -> [0: bb5, otherwise: bb4]; // scope 6 at $DIR/inline_generator.rs:15:20: 15:21 |
89 | 96 | + }
|
90 | 97 | +
|
91 | 98 | + bb4: {
|
92 |
| -+ StorageLive(_7); // scope 5 at $DIR/inline_generator.rs:15:17: 15:39 |
93 |
| -+ switchInt(move _6) -> [0: bb6, otherwise: bb5]; // scope 5 at $DIR/inline_generator.rs:15:20: 15:21 |
| 99 | ++ _8 = const 7_i32; // scope 6 at $DIR/inline_generator.rs:15:24: 15:25 |
| 100 | ++ goto -> bb6; // scope 6 at $DIR/inline_generator.rs:15:17: 15:39 |
94 | 101 | + }
|
95 | 102 | +
|
96 | 103 | + bb5: {
|
97 |
| -+ _7 = const 7_i32; // scope 5 at $DIR/inline_generator.rs:15:24: 15:25 |
98 |
| -+ goto -> bb7; // scope 5 at $DIR/inline_generator.rs:15:17: 15:39 |
| 104 | ++ _8 = const 13_i32; // scope 6 at $DIR/inline_generator.rs:15:35: 15:37 |
| 105 | ++ goto -> bb6; // scope 6 at $DIR/inline_generator.rs:15:17: 15:39 |
99 | 106 | + }
|
100 | 107 | +
|
101 | 108 | + bb6: {
|
102 |
| -+ _7 = const 13_i32; // scope 5 at $DIR/inline_generator.rs:15:35: 15:37 |
103 |
| -+ goto -> bb7; // scope 5 at $DIR/inline_generator.rs:15:17: 15:39 |
| 109 | ++ Deinit(_1); // scope 6 at $DIR/inline_generator.rs:15:11: 15:39 |
| 110 | ++ ((_1 as Yielded).0: i32) = move _8; // scope 6 at $DIR/inline_generator.rs:15:11: 15:39 |
| 111 | ++ discriminant(_1) = 0; // scope 6 at $DIR/inline_generator.rs:15:11: 15:39 |
| 112 | ++ _11 = deref_copy (_2.0: &mut [generator@$DIR/inline_generator.rs:15:5: 15:8]); // scope 6 at $DIR/inline_generator.rs:15:11: 15:39 |
| 113 | ++ discriminant((*_11)) = 3; // scope 6 at $DIR/inline_generator.rs:15:11: 15:39 |
| 114 | ++ goto -> bb1; // scope 0 at $DIR/inline_generator.rs:15:11: 15:39 |
104 | 115 | + }
|
105 | 116 | +
|
106 | 117 | + bb7: {
|
107 |
| -+ Deinit(_1); // scope 5 at $DIR/inline_generator.rs:15:11: 15:39 |
108 |
| -+ ((_1 as Yielded).0: i32) = move _7; // scope 5 at $DIR/inline_generator.rs:15:11: 15:39 |
109 |
| -+ discriminant(_1) = 0; // scope 5 at $DIR/inline_generator.rs:15:11: 15:39 |
110 |
| -+ _10 = deref_copy (_2.0: &mut [generator@$DIR/inline_generator.rs:15:5: 15:8]); // scope 5 at $DIR/inline_generator.rs:15:11: 15:39 |
111 |
| -+ discriminant((*_10)) = 3; // scope 5 at $DIR/inline_generator.rs:15:11: 15:39 |
112 |
| -+ goto -> bb1; // scope 0 at $DIR/inline_generator.rs:15:11: 15:39 |
| 118 | ++ StorageLive(_8); // scope 6 at $DIR/inline_generator.rs:15:5: 15:41 |
| 119 | ++ StorageDead(_8); // scope 6 at $DIR/inline_generator.rs:15:38: 15:39 |
| 120 | ++ Deinit(_1); // scope 6 at $DIR/inline_generator.rs:15:41: 15:41 |
| 121 | ++ ((_1 as Complete).0: bool) = move _7; // scope 6 at $DIR/inline_generator.rs:15:41: 15:41 |
| 122 | ++ discriminant(_1) = 1; // scope 6 at $DIR/inline_generator.rs:15:41: 15:41 |
| 123 | ++ _12 = deref_copy (_2.0: &mut [generator@$DIR/inline_generator.rs:15:5: 15:8]); // scope 6 at $DIR/inline_generator.rs:15:41: 15:41 |
| 124 | ++ discriminant((*_12)) = 1; // scope 6 at $DIR/inline_generator.rs:15:41: 15:41 |
| 125 | ++ goto -> bb1; // scope 0 at $DIR/inline_generator.rs:15:41: 15:41 |
113 | 126 | + }
|
114 | 127 | +
|
115 | 128 | + bb8: {
|
116 |
| -+ StorageLive(_7); // scope 5 at $DIR/inline_generator.rs:15:5: 15:41 |
117 |
| -+ StorageDead(_7); // scope 5 at $DIR/inline_generator.rs:15:38: 15:39 |
118 |
| -+ Deinit(_1); // scope 5 at $DIR/inline_generator.rs:15:41: 15:41 |
119 |
| -+ ((_1 as Complete).0: bool) = move _6; // scope 5 at $DIR/inline_generator.rs:15:41: 15:41 |
120 |
| -+ discriminant(_1) = 1; // scope 5 at $DIR/inline_generator.rs:15:41: 15:41 |
121 |
| -+ _11 = deref_copy (_2.0: &mut [generator@$DIR/inline_generator.rs:15:5: 15:8]); // scope 5 at $DIR/inline_generator.rs:15:41: 15:41 |
122 |
| -+ discriminant((*_11)) = 1; // scope 5 at $DIR/inline_generator.rs:15:41: 15:41 |
123 |
| -+ goto -> bb1; // scope 0 at $DIR/inline_generator.rs:15:41: 15:41 |
| 129 | ++ assert(const false, "generator resumed after completion") -> [success: bb8, unwind: bb2]; // scope 6 at $DIR/inline_generator.rs:15:5: 15:41 |
124 | 130 | + }
|
125 | 131 | +
|
126 | 132 | + bb9: {
|
127 |
| -+ assert(const false, "generator resumed after completion") -> [success: bb9, unwind: bb2]; // scope 5 at $DIR/inline_generator.rs:15:5: 15:41 |
128 |
| -+ } |
129 |
| -+ |
130 |
| -+ bb10: { |
131 |
| -+ unreachable; // scope 5 at $DIR/inline_generator.rs:15:5: 15:41 |
| 133 | ++ unreachable; // scope 6 at $DIR/inline_generator.rs:15:5: 15:41 |
132 | 134 | }
|
133 | 135 | }
|
134 | 136 |
|
0 commit comments