@@ -28,95 +28,81 @@ fn a::{closure#0}(_1: Pin<&mut {async fn body of a<T>()}>, _2: &mut Context<'_>)
2828
2929 bb0 : {
3030 _20 = discriminant((*(_1.0 : &mut {async fn body of a<T>()})));
31- switchInt(move _20) -> [0 : bb12 , 2: bb18 , 3: bb16 , 4: bb17 , otherwise: bb19 ];
31+ switchInt(move _20) -> [0 : bb8 , 2: bb15 , 3: bb13 , 4: bb14 , otherwise: bb16 ];
3232 }
3333
3434 bb1 : {
3535 nop;
3636 nop;
37- goto -> bb2;
38- }
39-
40- bb2 : {
4137 _0 = Poll::<()>::Ready(const ());
4238 return;
4339 }
4440
45- bb3 (cleanup) : {
46- nop;
47- nop;
48- goto -> bb5;
49- }
50-
51- bb4 (cleanup) : {
52- goto -> bb15;
53- }
54-
55- bb5 (cleanup) : {
56- goto -> bb4;
57- }
58-
59- bb6 : {
41+ bb2 : {
6042 _0 = Poll::<()>::Pending;
6143 discriminant((*(_1.0 : &mut {async fn body of a<T>()}))) = 4;
6244 return;
6345 }
6446
65- bb7 : {
47+ bb3 : {
6648 StorageLive(_16);
6749 _15 = &mut (((*(_1.0 : &mut {async fn body of a<T>()})) as variant#4).1: impl std::future::Future<Output = ()>);
68- _16 = Pin::<&mut impl Future<Output = ()>>::new_unchecked(move _15) -> [return : bb10 , unwind: bb15 ];
50+ _16 = Pin::<&mut impl Future<Output = ()>>::new_unchecked(move _15) -> [return : bb6 , unwind: bb12 ];
6951 }
7052
71- bb8 : {
53+ bb4 : {
7254 unreachable;
7355 }
7456
75- bb9 : {
57+ bb5 : {
7658 StorageDead(_16);
7759 _17 = discriminant(_9);
78- switchInt(move _17) -> [0 : bb1, 1: bb6 , otherwise: bb8 ];
60+ switchInt(move _17) -> [0 : bb1, 1: bb2 , otherwise: bb4 ];
7961 }
8062
81- bb10 : {
82- _9 = <impl Future<Output = ()> as Future>::poll(move _16, move _14) -> [return : bb9 , unwind: bb3 ];
63+ bb6 : {
64+ _9 = <impl Future<Output = ()> as Future>::poll(move _16, move _14) -> [return : bb5 , unwind: bb12 ];
8365 }
8466
85- bb11 : {
67+ bb7 : {
8668 _0 = Poll::<()>::Ready(const ());
8769 return;
8870 }
8971
90- bb12 : {
91- goto -> bb14 ;
72+ bb8 : {
73+ goto -> bb11 ;
9274 }
9375
94- bb13 : {
95- goto -> bb11 ;
76+ bb9 (cleanup) : {
77+ goto -> bb12 ;
9678 }
9779
98- bb14 : {
99- drop(((*(_1.0 : &mut {async fn body of a<T>()})).0: T)) -> [return: bb13, unwind: bb4] ;
80+ bb10 : {
81+ goto -> bb7 ;
10082 }
10183
102- bb15 (cleanup) : {
84+ bb11 : {
85+ drop(((*(_1.0 : &mut {async fn body of a<T>()})).0: T)) -> [return: bb10, unwind: bb9];
86+ }
87+
88+ bb12 (cleanup) : {
10389 discriminant((*(_1.0 : &mut {async fn body of a<T>()}))) = 2;
10490 resume;
10591 }
10692
107- bb16 : {
108- goto -> bb7 ;
93+ bb13 : {
94+ goto -> bb3 ;
10995 }
11096
111- bb17 : {
112- goto -> bb7 ;
97+ bb14 : {
98+ goto -> bb3 ;
11399 }
114100
115- bb18 : {
116- assert(const false, "`async fn` resumed after panicking") -> [success : bb18 , unwind continue];
101+ bb15 : {
102+ assert(const false, "`async fn` resumed after panicking") -> [success : bb15 , unwind continue];
117103 }
118104
119- bb19 : {
105+ bb16 : {
120106 _0 = Poll::<()>::Ready(const ());
121107 return;
122108 }
0 commit comments