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