2
2
/* generator_layout = GeneratorLayout {
3
3
field_tys : {
4
4
_0 : GeneratorSavedTy {
5
- ty : Alias(
6
- Opaque,
7
- AliasTy {
8
- args : [
9
- ],
10
- def_id : DefId(0:7 ~ async_await[ccf8]::a::{opaque#0}),
11
- },
5
+ ty : Generator(
6
+ DefId(0:4 ~ async_await[ccf8]::a::{closure#0}),
7
+ [
8
+ std::future::ResumeTy,
9
+ (),
10
+ (),
11
+ GeneratorWitness(DefId(0:4 ~ async_await[ccf8]::a::{closure#0}), []),
12
+ (),
13
+ ],
14
+ Static,
12
15
),
13
16
source_info : SourceInfo {
14
17
span : $DIR/async_await.rs:15:9: 15:14 (#8),
17
20
ignore_for_traits : false,
18
21
},
19
22
_1 : GeneratorSavedTy {
20
- ty : Alias(
21
- Opaque,
22
- AliasTy {
23
- args : [
24
- ],
25
- def_id : DefId(0:7 ~ async_await[ccf8]::a::{opaque#0}),
26
- },
23
+ ty : Generator(
24
+ DefId(0:4 ~ async_await[ccf8]::a::{closure#0}),
25
+ [
26
+ std::future::ResumeTy,
27
+ (),
28
+ (),
29
+ GeneratorWitness(DefId(0:4 ~ async_await[ccf8]::a::{closure#0}), []),
30
+ (),
31
+ ],
32
+ Static,
27
33
),
28
34
source_info : SourceInfo {
29
35
span : $DIR/async_await.rs:16:9: 16:14 (#10),
@@ -49,30 +55,30 @@ fn b::{closure#0}(_1: Pin<&mut {async fn body@$DIR/async_await.rs:14:18: 17:2}>,
49
55
debug _task_context => _38;
50
56
let mut _0 : std::task::Poll<()>;
51
57
let _3 : ();
52
- let mut _4 : impl std::future::Future<Output = ()> ;
53
- let mut _5 : impl std::future::Future<Output = ()> ;
54
- let mut _6 : impl std::future::Future<Output = ()> ;
58
+ let mut _4 : {async fn body@$DIR/async_await.rs:11:14: 11:16} ;
59
+ let mut _5 : {async fn body@$DIR/async_await.rs:11:14: 11:16} ;
60
+ let mut _6 : {async fn body@$DIR/async_await.rs:11:14: 11:16} ;
55
61
let mut _7 : ();
56
62
let _8 : ();
57
63
let mut _9 : std::task::Poll<()>;
58
- let mut _10 : std::pin::Pin<&mut impl std::future::Future<Output = ()> >;
59
- let mut _11 : &mut impl std::future::Future<Output = ()> ;
60
- let mut _12 : &mut impl std::future::Future<Output = ()> ;
64
+ let mut _10 : std::pin::Pin<&mut {async fn body@$DIR/async_await.rs:11:14: 11:16} >;
65
+ let mut _11 : &mut {async fn body@$DIR/async_await.rs:11:14: 11:16} ;
66
+ let mut _12 : &mut {async fn body@$DIR/async_await.rs:11:14: 11:16} ;
61
67
let mut _13 : &mut std::task::Context<'_>;
62
68
let mut _14 : &mut std::task::Context<'_>;
63
69
let mut _15 : &mut std::task::Context<'_>;
64
70
let mut _16 : isize;
65
71
let mut _18 : !;
66
72
let mut _19 : &mut std::task::Context<'_>;
67
73
let mut _20 : ();
68
- let mut _21 : impl std::future::Future<Output = ()> ;
69
- let mut _22 : impl std::future::Future<Output = ()> ;
70
- let mut _23 : impl std::future::Future<Output = ()> ;
74
+ let mut _21 : {async fn body@$DIR/async_await.rs:11:14: 11:16} ;
75
+ let mut _22 : {async fn body@$DIR/async_await.rs:11:14: 11:16} ;
76
+ let mut _23 : {async fn body@$DIR/async_await.rs:11:14: 11:16} ;
71
77
let _24 : ();
72
78
let mut _25 : std::task::Poll<()>;
73
- let mut _26 : std::pin::Pin<&mut impl std::future::Future<Output = ()> >;
74
- let mut _27 : &mut impl std::future::Future<Output = ()> ;
75
- let mut _28 : &mut impl std::future::Future<Output = ()> ;
79
+ let mut _26 : std::pin::Pin<&mut {async fn body@$DIR/async_await.rs:11:14: 11:16} >;
80
+ let mut _27 : &mut {async fn body@$DIR/async_await.rs:11:14: 11:16} ;
81
+ let mut _28 : &mut {async fn body@$DIR/async_await.rs:11:14: 11:16} ;
76
82
let mut _29 : &mut std::task::Context<'_>;
77
83
let mut _30 : &mut std::task::Context<'_>;
78
84
let mut _31 : &mut std::task::Context<'_>;
@@ -84,7 +90,7 @@ fn b::{closure#0}(_1: Pin<&mut {async fn body@$DIR/async_await.rs:14:18: 17:2}>,
84
90
let mut _38 : &mut std::task::Context<'_>;
85
91
let mut _39 : u32;
86
92
scope 1 {
87
- debug __awaitee => (((*(_1.0 : &mut {async fn body@$DIR/async_await.rs:14:18: 17:2})) as variant#3).0: impl std::future::Future<Output = ()> );
93
+ debug __awaitee => (((*(_1.0 : &mut {async fn body@$DIR/async_await.rs:14:18: 17:2})) as variant#3).0: {async fn body@$DIR/async_await.rs:11:14: 11:16} );
88
94
let _17 : ();
89
95
scope 2 {
90
96
}
@@ -93,7 +99,7 @@ fn b::{closure#0}(_1: Pin<&mut {async fn body@$DIR/async_await.rs:14:18: 17:2}>,
93
99
}
94
100
}
95
101
scope 4 {
96
- debug __awaitee => (((*(_1.0 : &mut {async fn body@$DIR/async_await.rs:14:18: 17:2})) as variant#4).0: impl std::future::Future<Output = ()> );
102
+ debug __awaitee => (((*(_1.0 : &mut {async fn body@$DIR/async_await.rs:14:18: 17:2})) as variant#4).0: {async fn body@$DIR/async_await.rs:11:14: 11:16} );
97
103
let _33 : ();
98
104
scope 5 {
99
105
}
@@ -116,13 +122,13 @@ fn b::{closure#0}(_1: Pin<&mut {async fn body@$DIR/async_await.rs:14:18: 17:2}>,
116
122
}
117
123
118
124
bb2 : {
119
- _4 = <impl Future<Output = ()> as IntoFuture>::into_future(move _5) -> [return : bb3, unwind unreachable];
125
+ _4 = <{async fn body@$DIR/async_await.rs:11:14 : 11:16} as IntoFuture>::into_future(move _5) -> [return: bb3, unwind unreachable];
120
126
}
121
127
122
128
bb3 : {
123
129
StorageDead(_5);
124
130
nop;
125
- (((*(_1.0 : &mut {async fn body@$DIR/async_await.rs:14:18: 17:2})) as variant#3).0: impl std::future::Future<Output = ()> ) = move _4;
131
+ (((*(_1.0 : &mut {async fn body@$DIR/async_await.rs:14:18: 17:2})) as variant#3).0: {async fn body@$DIR/async_await.rs:11:14: 11:16} ) = move _4;
126
132
goto -> bb4;
127
133
}
128
134
@@ -132,9 +138,9 @@ fn b::{closure#0}(_1: Pin<&mut {async fn body@$DIR/async_await.rs:14:18: 17:2}>,
132
138
StorageLive(_10);
133
139
StorageLive(_11);
134
140
StorageLive(_12);
135
- _12 = &mut (((*(_1.0 : &mut {async fn body@$DIR/async_await.rs:14:18: 17:2})) as variant#3).0: impl std::future::Future<Output = ()> );
141
+ _12 = &mut (((*(_1.0 : &mut {async fn body@$DIR/async_await.rs:14:18: 17:2})) as variant#3).0: {async fn body@$DIR/async_await.rs:11:14: 11:16} );
136
142
_11 = &mut (*_12);
137
- _10 = Pin::<&mut impl Future<Output = ()> >::new_unchecked(move _11) -> [return : bb5, unwind unreachable];
143
+ _10 = Pin::<&mut {async fn body@$DIR/async_await.rs:11:14 : 11:16} >::new_unchecked(move _11) -> [return: bb5, unwind unreachable];
138
144
}
139
145
140
146
bb5 : {
@@ -150,7 +156,7 @@ fn b::{closure#0}(_1: Pin<&mut {async fn body@$DIR/async_await.rs:14:18: 17:2}>,
150
156
bb6 : {
151
157
_13 = &mut (*_14);
152
158
StorageDead(_15);
153
- _9 = <impl Future<Output = ()> as Future>::poll(move _10, move _13) -> [return : bb7, unwind unreachable];
159
+ _9 = <{async fn body@$DIR/async_await.rs:11:14 : 11:16} as Future>::poll(move _10, move _13) -> [return: bb7, unwind unreachable];
154
160
}
155
161
156
162
bb7 : {
@@ -187,7 +193,7 @@ fn b::{closure#0}(_1: Pin<&mut {async fn body@$DIR/async_await.rs:14:18: 17:2}>,
187
193
StorageDead(_12);
188
194
StorageDead(_9);
189
195
StorageDead(_8);
190
- drop((((*(_1.0 : &mut {async fn body@$DIR/async_await.rs:14:18: 17:2})) as variant#3).0: impl std::future::Future<Output = ()> )) -> [return: bb12, unwind unreachable];
196
+ drop((((*(_1.0 : &mut {async fn body@$DIR/async_await.rs:14:18: 17:2})) as variant#3).0: {async fn body@$DIR/async_await.rs:11:14: 11:16} )) -> [return: bb12, unwind unreachable];
191
197
}
192
198
193
199
bb11 : {
@@ -212,13 +218,13 @@ fn b::{closure#0}(_1: Pin<&mut {async fn body@$DIR/async_await.rs:14:18: 17:2}>,
212
218
}
213
219
214
220
bb14 : {
215
- _21 = <impl Future<Output = ()> as IntoFuture>::into_future(move _22) -> [return : bb15, unwind unreachable];
221
+ _21 = <{async fn body@$DIR/async_await.rs:11:14 : 11:16} as IntoFuture>::into_future(move _22) -> [return: bb15, unwind unreachable];
216
222
}
217
223
218
224
bb15 : {
219
225
StorageDead(_22);
220
226
nop;
221
- (((*(_1.0 : &mut {async fn body@$DIR/async_await.rs:14:18: 17:2})) as variant#4).0: impl std::future::Future<Output = ()> ) = move _21;
227
+ (((*(_1.0 : &mut {async fn body@$DIR/async_await.rs:14:18: 17:2})) as variant#4).0: {async fn body@$DIR/async_await.rs:11:14: 11:16} ) = move _21;
222
228
goto -> bb16;
223
229
}
224
230
@@ -228,9 +234,9 @@ fn b::{closure#0}(_1: Pin<&mut {async fn body@$DIR/async_await.rs:14:18: 17:2}>,
228
234
StorageLive(_26);
229
235
StorageLive(_27);
230
236
StorageLive(_28);
231
- _28 = &mut (((*(_1.0 : &mut {async fn body@$DIR/async_await.rs:14:18: 17:2})) as variant#4).0: impl std::future::Future<Output = ()> );
237
+ _28 = &mut (((*(_1.0 : &mut {async fn body@$DIR/async_await.rs:14:18: 17:2})) as variant#4).0: {async fn body@$DIR/async_await.rs:11:14: 11:16} );
232
238
_27 = &mut (*_28);
233
- _26 = Pin::<&mut impl Future<Output = ()> >::new_unchecked(move _27) -> [return : bb17, unwind unreachable];
239
+ _26 = Pin::<&mut {async fn body@$DIR/async_await.rs:11:14 : 11:16} >::new_unchecked(move _27) -> [return: bb17, unwind unreachable];
234
240
}
235
241
236
242
bb17 : {
@@ -246,7 +252,7 @@ fn b::{closure#0}(_1: Pin<&mut {async fn body@$DIR/async_await.rs:14:18: 17:2}>,
246
252
bb18 : {
247
253
_29 = &mut (*_30);
248
254
StorageDead(_31);
249
- _25 = <impl Future<Output = ()> as Future>::poll(move _26, move _29) -> [return : bb19, unwind unreachable];
255
+ _25 = <{async fn body@$DIR/async_await.rs:11:14 : 11:16} as Future>::poll(move _26, move _29) -> [return: bb19, unwind unreachable];
250
256
}
251
257
252
258
bb19 : {
@@ -279,7 +285,7 @@ fn b::{closure#0}(_1: Pin<&mut {async fn body@$DIR/async_await.rs:14:18: 17:2}>,
279
285
StorageDead(_28);
280
286
StorageDead(_25);
281
287
StorageDead(_24);
282
- drop((((*(_1.0 : &mut {async fn body@$DIR/async_await.rs:14:18: 17:2})) as variant#4).0: impl std::future::Future<Output = ()> )) -> [return: bb23, unwind unreachable];
288
+ drop((((*(_1.0 : &mut {async fn body@$DIR/async_await.rs:14:18: 17:2})) as variant#4).0: {async fn body@$DIR/async_await.rs:11:14: 11:16} )) -> [return: bb23, unwind unreachable];
283
289
}
284
290
285
291
bb22 : {
0 commit comments