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