@@ -29,95 +29,81 @@ fn a::{closure#0}(_1: Pin<&mut {async fn body of a<T>()}>, _2: &mut Context<'_>)
2929 bb0 : {
3030 _20 = copy (_1.0 : &mut {async fn body of a<T>()});
3131 _19 = discriminant((*_20));
32- switchInt(move _19) -> [0 : bb12 , 2: bb18 , 3: bb16 , 4: bb17 , otherwise: bb19 ];
32+ switchInt(move _19) -> [0 : bb8 , 2: bb15 , 3: bb13 , 4: bb14 , otherwise: bb16 ];
3333 }
3434
3535 bb1 : {
3636 nop;
3737 nop;
38- goto -> bb2;
39- }
40-
41- bb2 : {
4238 _0 = Poll::<()>::Ready(const ());
4339 return;
4440 }
4541
46- bb3 (cleanup) : {
47- nop;
48- nop;
49- goto -> bb5;
50- }
51-
52- bb4 (cleanup) : {
53- goto -> bb15;
54- }
55-
56- bb5 (cleanup) : {
57- goto -> bb4;
58- }
59-
60- bb6 : {
42+ bb2 : {
6143 _0 = Poll::<()>::Pending;
6244 discriminant((*_20)) = 4;
6345 return;
6446 }
6547
66- bb7 : {
48+ bb3 : {
6749 StorageLive(_16);
6850 _15 = &mut (((*_20) as variant#4).1: impl std::future::Future<Output = ()>);
69- _16 = Pin::<&mut impl Future<Output = ()>>::new_unchecked(move _15) -> [return : bb10 , unwind: bb15 ];
51+ _16 = Pin::<&mut impl Future<Output = ()>>::new_unchecked(move _15) -> [return : bb6 , unwind: bb12 ];
7052 }
7153
72- bb8 : {
54+ bb4 : {
7355 unreachable;
7456 }
7557
76- bb9 : {
58+ bb5 : {
7759 StorageDead(_16);
7860 _17 = discriminant(_9);
79- switchInt(move _17) -> [0 : bb1, 1: bb6 , otherwise: bb8 ];
61+ switchInt(move _17) -> [0 : bb1, 1: bb2 , otherwise: bb4 ];
8062 }
8163
82- bb10 : {
83- _9 = <impl Future<Output = ()> as Future>::poll(move _16, move _14) -> [return : bb9 , unwind: bb3 ];
64+ bb6 : {
65+ _9 = <impl Future<Output = ()> as Future>::poll(move _16, move _14) -> [return : bb5 , unwind: bb12 ];
8466 }
8567
86- bb11 : {
68+ bb7 : {
8769 _0 = Poll::<()>::Ready(const ());
8870 return;
8971 }
9072
91- bb12 : {
92- goto -> bb14 ;
73+ bb8 : {
74+ goto -> bb11 ;
9375 }
9476
95- bb13 : {
96- goto -> bb11 ;
77+ bb9 (cleanup) : {
78+ goto -> bb12 ;
9779 }
9880
99- bb14 : {
100- drop(((*_20).0 : T)) -> [return: bb13, unwind: bb4] ;
81+ bb10 : {
82+ goto -> bb7 ;
10183 }
10284
103- bb15 (cleanup) : {
85+ bb11 : {
86+ drop(((*_20).0 : T)) -> [return: bb10, unwind: bb9];
87+ }
88+
89+ bb12 (cleanup) : {
10490 discriminant((*_20)) = 2;
10591 resume;
10692 }
10793
108- bb16 : {
109- goto -> bb7 ;
94+ bb13 : {
95+ goto -> bb3 ;
11096 }
11197
112- bb17 : {
113- goto -> bb7 ;
98+ bb14 : {
99+ goto -> bb3 ;
114100 }
115101
116- bb18 : {
117- assert(const false, "`async fn` resumed after panicking") -> [success : bb18 , unwind continue];
102+ bb15 : {
103+ assert(const false, "`async fn` resumed after panicking") -> [success : bb15 , unwind continue];
118104 }
119105
120- bb19 : {
106+ bb16 : {
121107 _0 = Poll::<()>::Ready(const ());
122108 return;
123109 }
0 commit comments