@@ -27,95 +27,81 @@ fn a::{closure#0}(_1: Pin<&mut {async fn body of a<T>()}>, _2: &mut Context<'_>)
2727
2828 bb0 : {
2929 _19 = discriminant((*(_1.0 : &mut {async fn body of a<T>()})));
30- switchInt(move _19) -> [0 : bb12 , 2: bb18 , 3: bb16 , 4: bb17 , otherwise: bb19 ];
30+ switchInt(move _19) -> [0 : bb8 , 2: bb15 , 3: bb13 , 4: bb14 , otherwise: bb16 ];
3131 }
3232
3333 bb1 : {
3434 nop;
3535 nop;
36- goto -> bb2;
37- }
38-
39- bb2 : {
4036 _0 = Poll::<()>::Ready(const ());
4137 return;
4238 }
4339
44- bb3 (cleanup) : {
45- nop;
46- nop;
47- goto -> bb5;
48- }
49-
50- bb4 (cleanup) : {
51- goto -> bb15;
52- }
53-
54- bb5 (cleanup) : {
55- goto -> bb4;
56- }
57-
58- bb6 : {
40+ bb2 : {
5941 _0 = Poll::<()>::Pending;
6042 discriminant((*(_1.0 : &mut {async fn body of a<T>()}))) = 4;
6143 return;
6244 }
6345
64- bb7 : {
46+ bb3 : {
6547 StorageLive(_16);
6648 _15 = &mut (((*(_1.0 : &mut {async fn body of a<T>()})) as variant#4).1: impl std::future::Future<Output = ()>);
67- _16 = Pin::<&mut impl Future<Output = ()>>::new_unchecked(move _15) -> [return : bb10 , unwind: bb15 ];
49+ _16 = Pin::<&mut impl Future<Output = ()>>::new_unchecked(move _15) -> [return : bb6 , unwind: bb12 ];
6850 }
6951
70- bb8 : {
52+ bb4 : {
7153 unreachable;
7254 }
7355
74- bb9 : {
56+ bb5 : {
7557 StorageDead(_16);
7658 _17 = discriminant(_9);
77- switchInt(move _17) -> [0 : bb1, 1: bb6 , otherwise: bb8 ];
59+ switchInt(move _17) -> [0 : bb1, 1: bb2 , otherwise: bb4 ];
7860 }
7961
80- bb10 : {
81- _9 = <impl Future<Output = ()> as Future>::poll(move _16, move _14) -> [return : bb9 , unwind: bb3 ];
62+ bb6 : {
63+ _9 = <impl Future<Output = ()> as Future>::poll(move _16, move _14) -> [return : bb5 , unwind: bb12 ];
8264 }
8365
84- bb11 : {
66+ bb7 : {
8567 _0 = Poll::<()>::Ready(const ());
8668 return;
8769 }
8870
89- bb12 : {
90- goto -> bb14 ;
71+ bb8 : {
72+ goto -> bb11 ;
9173 }
9274
93- bb13 : {
94- goto -> bb11 ;
75+ bb9 (cleanup) : {
76+ goto -> bb12 ;
9577 }
9678
97- bb14 : {
98- drop(((*(_1.0 : &mut {async fn body of a<T>()})).0: T)) -> [return: bb13, unwind: bb4] ;
79+ bb10 : {
80+ goto -> bb7 ;
9981 }
10082
101- bb15 (cleanup) : {
83+ bb11 : {
84+ drop(((*(_1.0 : &mut {async fn body of a<T>()})).0: T)) -> [return: bb10, unwind: bb9];
85+ }
86+
87+ bb12 (cleanup) : {
10288 discriminant((*(_1.0 : &mut {async fn body of a<T>()}))) = 2;
10389 resume;
10490 }
10591
106- bb16 : {
107- goto -> bb7 ;
92+ bb13 : {
93+ goto -> bb3 ;
10894 }
10995
110- bb17 : {
111- goto -> bb7 ;
96+ bb14 : {
97+ goto -> bb3 ;
11298 }
11399
114- bb18 : {
115- assert(const false, "`async fn` resumed after panicking") -> [success : bb18 , unwind continue];
100+ bb15 : {
101+ assert(const false, "`async fn` resumed after panicking") -> [success : bb15 , unwind continue];
116102 }
117103
118- bb19 : {
104+ bb16 : {
119105 _0 = Poll::<()>::Ready(const ());
120106 return;
121107 }
0 commit comments