22/* generator_layout = GeneratorLayout {
33 field_tys : {
44 _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,
1215 ),
1316 source_info : SourceInfo {
1417 span : $DIR/async_await.rs:15:9: 15:14 (#8),
1720 ignore_for_traits : false,
1821 },
1922 _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,
2733 ),
2834 source_info : SourceInfo {
2935 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}>,
4955 debug _task_context => _38;
5056 let mut _0 : std::task::Poll<()>;
5157 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} ;
5561 let mut _7 : ();
5662 let _8 : ();
5763 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} ;
6167 let mut _13 : &mut std::task::Context<'_>;
6268 let mut _14 : &mut std::task::Context<'_>;
6369 let mut _15 : &mut std::task::Context<'_>;
6470 let mut _16 : isize;
6571 let mut _18 : !;
6672 let mut _19 : &mut std::task::Context<'_>;
6773 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} ;
7177 let _24 : ();
7278 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} ;
7682 let mut _29 : &mut std::task::Context<'_>;
7783 let mut _30 : &mut std::task::Context<'_>;
7884 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}>,
8490 let mut _38 : &mut std::task::Context<'_>;
8591 let mut _39 : u32;
8692 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} );
8894 let _17 : ();
8995 scope 2 {
9096 }
@@ -93,7 +99,7 @@ fn b::{closure#0}(_1: Pin<&mut {async fn body@$DIR/async_await.rs:14:18: 17:2}>,
9399 }
94100 }
95101 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} );
97103 let _33 : ();
98104 scope 5 {
99105 }
@@ -116,13 +122,13 @@ fn b::{closure#0}(_1: Pin<&mut {async fn body@$DIR/async_await.rs:14:18: 17:2}>,
116122 }
117123
118124 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];
120126 }
121127
122128 bb3 : {
123129 StorageDead(_5);
124130 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;
126132 goto -> bb4;
127133 }
128134
@@ -132,9 +138,9 @@ fn b::{closure#0}(_1: Pin<&mut {async fn body@$DIR/async_await.rs:14:18: 17:2}>,
132138 StorageLive(_10);
133139 StorageLive(_11);
134140 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} );
136142 _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];
138144 }
139145
140146 bb5 : {
@@ -150,7 +156,7 @@ fn b::{closure#0}(_1: Pin<&mut {async fn body@$DIR/async_await.rs:14:18: 17:2}>,
150156 bb6 : {
151157 _13 = &mut (*_14);
152158 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];
154160 }
155161
156162 bb7 : {
@@ -187,7 +193,7 @@ fn b::{closure#0}(_1: Pin<&mut {async fn body@$DIR/async_await.rs:14:18: 17:2}>,
187193 StorageDead(_12);
188194 StorageDead(_9);
189195 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];
191197 }
192198
193199 bb11 : {
@@ -212,13 +218,13 @@ fn b::{closure#0}(_1: Pin<&mut {async fn body@$DIR/async_await.rs:14:18: 17:2}>,
212218 }
213219
214220 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];
216222 }
217223
218224 bb15 : {
219225 StorageDead(_22);
220226 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;
222228 goto -> bb16;
223229 }
224230
@@ -228,9 +234,9 @@ fn b::{closure#0}(_1: Pin<&mut {async fn body@$DIR/async_await.rs:14:18: 17:2}>,
228234 StorageLive(_26);
229235 StorageLive(_27);
230236 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} );
232238 _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];
234240 }
235241
236242 bb17 : {
@@ -246,7 +252,7 @@ fn b::{closure#0}(_1: Pin<&mut {async fn body@$DIR/async_await.rs:14:18: 17:2}>,
246252 bb18 : {
247253 _29 = &mut (*_30);
248254 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];
250256 }
251257
252258 bb19 : {
@@ -279,7 +285,7 @@ fn b::{closure#0}(_1: Pin<&mut {async fn body@$DIR/async_await.rs:14:18: 17:2}>,
279285 StorageDead(_28);
280286 StorageDead(_25);
281287 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];
283289 }
284290
285291 bb22 : {
0 commit comments