2022-12-20 08:15:29 -06:00
// MIR for `b::{closure#0}` 0 generator_resume
/* generator_layout = GeneratorLayout {
field_tys : {
2023-01-21 08:26:44 -06:00
_0 : GeneratorSavedTy {
ty : impl std ::future ::Future < Output = ( ) > ,
source_info : SourceInfo {
2023-04-25 13:59:16 -05:00
span : $DIR / async_await . rs :15 :9 : 15 :14 ( #8 ) ,
2023-01-21 08:26:44 -06:00
scope : scope [ 0 ] ,
} ,
ignore_for_traits : false ,
} ,
_1 : GeneratorSavedTy {
ty : impl std ::future ::Future < Output = ( ) > ,
source_info : SourceInfo {
2023-04-26 16:06:22 -05:00
span : $DIR / async_await . rs :16 :8 : 16 :14 ( #10 ) ,
2023-01-21 08:26:44 -06:00
scope : scope [ 0 ] ,
} ,
ignore_for_traits : false ,
} ,
2022-12-20 08:15:29 -06:00
} ,
variant_fields : {
Unresumed ( 0 ) : [ ] ,
Returned ( 1 ) : [ ] ,
Panicked ( 2 ) : [ ] ,
Suspend0 ( 3 ) : [ _0 ] ,
Suspend1 ( 4 ) : [ _1 ] ,
} ,
storage_conflicts : BitMatrix ( 2 x2 ) {
( _0 , _0 ) ,
( _1 , _1 ) ,
} ,
} * /
fn b ::{ closure #0 } ( _1 : Pin < & mut [ async fn body @ $DIR / async_await . rs :14 :18 : 17 :2 ] > , _2 : & mut Context < '_ > ) -> Poll < ( ) > {
debug _task_context = > _38 ; // in scope 0 at $DIR/async_await.rs:+0:18: +3:2
let mut _0 : std ::task ::Poll < ( ) > ; // return place in scope 0 at $DIR/async_await.rs:+0:18: +3:2
let _3 : ( ) ; // in scope 0 at $DIR/async_await.rs:+1:5: +1:14
2023-04-25 13:59:16 -05:00
let mut _4 : impl std ::future ::Future < Output = ( ) > ; // in scope 0 at $DIR/async_await.rs:+1:9: +1:14
2022-12-20 08:15:29 -06:00
let mut _5 : impl std ::future ::Future < Output = ( ) > ; // in scope 0 at $DIR/async_await.rs:+1:5: +1:8
2023-04-25 13:59:16 -05:00
let mut _6 : impl std ::future ::Future < Output = ( ) > ; // in scope 0 at $DIR/async_await.rs:+1:9: +1:14
2022-12-20 08:15:29 -06:00
let mut _7 : ( ) ; // in scope 0 at $DIR/async_await.rs:+0:18: +3:2
2023-04-25 13:59:16 -05:00
let _8 : ( ) ; // in scope 0 at $DIR/async_await.rs:+1:9: +1:14
let mut _9 : std ::task ::Poll < ( ) > ; // in scope 0 at $DIR/async_await.rs:+1:9: +1:14
let mut _10 : std ::pin ::Pin < & mut impl std ::future ::Future < Output = ( ) > > ; // in scope 0 at $DIR/async_await.rs:+1:9: +1:14
let mut _11 : & mut impl std ::future ::Future < Output = ( ) > ; // in scope 0 at $DIR/async_await.rs:+1:9: +1:14
let mut _12 : & mut impl std ::future ::Future < Output = ( ) > ; // in scope 0 at $DIR/async_await.rs:+1:9: +1:14
2022-12-20 08:15:29 -06:00
let mut _13 : & mut std ::task ::Context < '_ > ; // in scope 0 at $DIR/async_await.rs:+1:5: +1:14
let mut _14 : & mut std ::task ::Context < '_ > ; // in scope 0 at $DIR/async_await.rs:+1:5: +1:14
2023-04-25 13:59:16 -05:00
let mut _15 : & mut std ::task ::Context < '_ > ; // in scope 0 at $DIR/async_await.rs:+1:9: +1:14
let mut _16 : isize ; // in scope 0 at $DIR/async_await.rs:+1:9: +1:14
2022-12-20 08:15:29 -06:00
let mut _18 : ! ; // in scope 0 at $DIR/async_await.rs:+1:5: +1:14
2023-04-25 13:59:16 -05:00
let mut _19 : & mut std ::task ::Context < '_ > ; // in scope 0 at $DIR/async_await.rs:+1:9: +1:14
let mut _20 : ( ) ; // in scope 0 at $DIR/async_await.rs:+1:9: +1:14
let mut _21 : impl std ::future ::Future < Output = ( ) > ; // in scope 0 at $DIR/async_await.rs:+2:9: +2:14
2022-12-20 08:15:29 -06:00
let mut _22 : impl std ::future ::Future < Output = ( ) > ; // in scope 0 at $DIR/async_await.rs:+2:5: +2:8
2023-04-25 13:59:16 -05:00
let mut _23 : impl std ::future ::Future < Output = ( ) > ; // in scope 0 at $DIR/async_await.rs:+2:9: +2:14
let _24 : ( ) ; // in scope 0 at $DIR/async_await.rs:+2:9: +2:14
let mut _25 : std ::task ::Poll < ( ) > ; // in scope 0 at $DIR/async_await.rs:+2:9: +2:14
let mut _26 : std ::pin ::Pin < & mut impl std ::future ::Future < Output = ( ) > > ; // in scope 0 at $DIR/async_await.rs:+2:9: +2:14
let mut _27 : & mut impl std ::future ::Future < Output = ( ) > ; // in scope 0 at $DIR/async_await.rs:+2:9: +2:14
let mut _28 : & mut impl std ::future ::Future < Output = ( ) > ; // in scope 0 at $DIR/async_await.rs:+2:9: +2:14
2022-12-20 08:15:29 -06:00
let mut _29 : & mut std ::task ::Context < '_ > ; // in scope 0 at $DIR/async_await.rs:+2:5: +2:14
let mut _30 : & mut std ::task ::Context < '_ > ; // in scope 0 at $DIR/async_await.rs:+2:5: +2:14
2023-04-25 13:59:16 -05:00
let mut _31 : & mut std ::task ::Context < '_ > ; // in scope 0 at $DIR/async_await.rs:+2:9: +2:14
let mut _32 : isize ; // in scope 0 at $DIR/async_await.rs:+2:9: +2:14
2022-12-20 08:15:29 -06:00
let mut _34 : ! ; // in scope 0 at $DIR/async_await.rs:+2:5: +2:14
2023-04-25 13:59:16 -05:00
let mut _35 : & mut std ::task ::Context < '_ > ; // in scope 0 at $DIR/async_await.rs:+2:9: +2:14
let mut _36 : ( ) ; // in scope 0 at $DIR/async_await.rs:+2:9: +2:14
2022-12-20 08:15:29 -06:00
let mut _37 : ( ) ; // in scope 0 at $DIR/async_await.rs:+0:18: +3:2
let mut _38 : & mut std ::task ::Context < '_ > ; // in scope 0 at $DIR/async_await.rs:+0:18: +3:2
let mut _39 : u32 ; // in scope 0 at $DIR/async_await.rs:+0:18: +3:2
scope 1 {
2023-04-25 13:59:16 -05:00
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 = ( ) > ) ; // in scope 1 at $DIR/async_await.rs:+1:9: +1:14
2022-12-20 08:15:29 -06:00
let _17 : ( ) ; // in scope 1 at $DIR/async_await.rs:+1:5: +1:14
scope 2 {
}
scope 3 {
debug result = > _17 ; // in scope 3 at $DIR/async_await.rs:+1:5: +1:14
}
}
scope 4 {
2023-04-25 13:59:16 -05:00
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 = ( ) > ) ; // in scope 4 at $DIR/async_await.rs:+2:9: +2:14
2022-12-20 08:15:29 -06:00
let _33 : ( ) ; // in scope 4 at $DIR/async_await.rs:+2:5: +2:14
scope 5 {
}
scope 6 {
debug result = > _33 ; // in scope 6 at $DIR/async_await.rs:+2:5: +2:14
}
}
bb0 : {
_39 = discriminant ( ( * ( _1 . 0 : & mut [ async fn body @ $DIR / async_await . rs :14 :18 : 17 :2 ] ) ) ) ; // scope 0 at $DIR/async_await.rs:+0:18: +3:2
2023-02-24 15:32:10 -06:00
switchInt ( move _39 ) -> [ 0 : bb1 , 1 : bb28 , 3 : bb26 , 4 : bb27 , otherwise : bb29 ] ; // scope 0 at $DIR/async_await.rs:+0:18: +3:2
2022-12-20 08:15:29 -06:00
}
bb1 : {
_38 = move _2 ; // scope 0 at $DIR/async_await.rs:+0:18: +3:2
StorageLive ( _3 ) ; // scope 0 at $DIR/async_await.rs:+1:5: +1:14
2023-04-25 13:59:16 -05:00
StorageLive ( _4 ) ; // scope 0 at $DIR/async_await.rs:+1:9: +1:14
2022-12-20 08:15:29 -06:00
StorageLive ( _5 ) ; // scope 0 at $DIR/async_await.rs:+1:5: +1:8
2023-04-05 03:17:40 -05:00
_5 = a ( ) -> [ return : bb2 , unwind unreachable ] ; // scope 0 at $DIR/async_await.rs:+1:5: +1:8
2022-12-20 08:15:29 -06:00
// mir::Constant
// + span: $DIR/async_await.rs:15:5: 15:6
// + literal: Const { ty: fn() -> impl Future<Output = ()> {a}, val: Value(<ZST>) }
}
bb2 : {
2023-04-25 13:59:16 -05:00
_4 = < impl Future < Output = ( ) > as IntoFuture > ::into_future ( move _5 ) -> [ return : bb3 , unwind unreachable ] ; // scope 0 at $DIR/async_await.rs:+1:9: +1:14
2022-12-20 08:15:29 -06:00
// mir::Constant
2023-04-25 13:59:16 -05:00
// + span: $DIR/async_await.rs:15:9: 15:14
2022-12-20 08:15:29 -06:00
// + literal: Const { ty: fn(impl Future<Output = ()>) -> <impl Future<Output = ()> as IntoFuture>::IntoFuture {<impl Future<Output = ()> as IntoFuture>::into_future}, val: Value(<ZST>) }
}
bb3 : {
StorageDead ( _5 ) ; // scope 0 at $DIR/async_await.rs:+1:13: +1:14
2023-04-25 13:59:16 -05:00
nop ; // scope 0 at $DIR/async_await.rs:+1:9: +1:14
( ( ( * ( _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 ; // scope 0 at $DIR/async_await.rs:+1:9: +1:14
goto -> bb4 ; // scope 1 at $DIR/async_await.rs:+1:9: +1:14
2022-12-20 08:15:29 -06:00
}
bb4 : {
2023-04-25 13:59:16 -05:00
StorageLive ( _8 ) ; // scope 1 at $DIR/async_await.rs:+1:9: +1:14
StorageLive ( _9 ) ; // scope 1 at $DIR/async_await.rs:+1:9: +1:14
StorageLive ( _10 ) ; // scope 2 at $DIR/async_await.rs:+1:9: +1:14
StorageLive ( _11 ) ; // scope 2 at $DIR/async_await.rs:+1:9: +1:14
StorageLive ( _12 ) ; // scope 2 at $DIR/async_await.rs:+1:9: +1:14
_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 = ( ) > ) ; // scope 2 at $DIR/async_await.rs:+1:9: +1:14
_11 = & mut ( * _12 ) ; // scope 2 at $DIR/async_await.rs:+1:9: +1:14
_10 = Pin ::< & mut impl Future < Output = ( ) > > ::new_unchecked ( move _11 ) -> [ return : bb5 , unwind unreachable ] ; // scope 2 at $DIR/async_await.rs:+1:9: +1:14
2022-12-20 08:15:29 -06:00
// mir::Constant
2023-04-25 13:59:16 -05:00
// + span: $DIR/async_await.rs:15:9: 15:14
2022-12-20 08:15:29 -06:00
// + literal: Const { ty: unsafe fn(&mut impl Future<Output = ()>) -> Pin<&mut impl Future<Output = ()>> {Pin::<&mut impl Future<Output = ()>>::new_unchecked}, val: Value(<ZST>) }
}
bb5 : {
StorageDead ( _11 ) ; // scope 2 at $DIR/async_await.rs:+1:13: +1:14
StorageLive ( _13 ) ; // scope 2 at $DIR/async_await.rs:+1:5: +1:14
StorageLive ( _14 ) ; // scope 2 at $DIR/async_await.rs:+1:5: +1:14
2023-04-25 13:59:16 -05:00
StorageLive ( _15 ) ; // scope 2 at $DIR/async_await.rs:+1:9: +1:14
_15 = _38 ; // scope 2 at $DIR/async_await.rs:+1:9: +1:14
2022-12-20 08:15:29 -06:00
_14 = move _15 ; // scope 2 at $DIR/async_await.rs:+1:5: +1:14
goto -> bb6 ; // scope 2 at $DIR/async_await.rs:+1:5: +1:14
}
bb6 : {
_13 = & mut ( * _14 ) ; // scope 2 at $DIR/async_await.rs:+1:5: +1:14
StorageDead ( _15 ) ; // scope 2 at $DIR/async_await.rs:+1:13: +1:14
2023-04-25 13:59:16 -05:00
_9 = < impl Future < Output = ( ) > as Future > ::poll ( move _10 , move _13 ) -> [ return : bb7 , unwind unreachable ] ; // scope 2 at $DIR/async_await.rs:+1:9: +1:14
2022-12-20 08:15:29 -06:00
// mir::Constant
2023-04-25 13:59:16 -05:00
// + span: $DIR/async_await.rs:15:9: 15:14
2022-12-20 08:15:29 -06:00
// + literal: Const { ty: for<'a, 'b, 'c> fn(Pin<&'a mut impl Future<Output = ()>>, &'b mut Context<'c>) -> Poll<<impl Future<Output = ()> as Future>::Output> {<impl Future<Output = ()> as Future>::poll}, val: Value(<ZST>) }
}
bb7 : {
StorageDead ( _13 ) ; // scope 2 at $DIR/async_await.rs:+1:13: +1:14
StorageDead ( _10 ) ; // scope 2 at $DIR/async_await.rs:+1:13: +1:14
2023-04-25 13:59:16 -05:00
_16 = discriminant ( _9 ) ; // scope 1 at $DIR/async_await.rs:+1:9: +1:14
switchInt ( move _16 ) -> [ 0 : bb10 , 1 : bb8 , otherwise : bb9 ] ; // scope 1 at $DIR/async_await.rs:+1:9: +1:14
2022-12-20 08:15:29 -06:00
}
bb8 : {
2023-04-25 13:59:16 -05:00
_8 = const ( ) ; // scope 1 at $DIR/async_await.rs:+1:9: +1:14
2022-12-20 08:15:29 -06:00
StorageDead ( _14 ) ; // scope 1 at $DIR/async_await.rs:+1:13: +1:14
StorageDead ( _12 ) ; // scope 1 at $DIR/async_await.rs:+1:13: +1:14
StorageDead ( _9 ) ; // scope 1 at $DIR/async_await.rs:+1:13: +1:14
StorageDead ( _8 ) ; // scope 1 at $DIR/async_await.rs:+1:13: +1:14
2023-04-25 13:59:16 -05:00
StorageLive ( _19 ) ; // scope 1 at $DIR/async_await.rs:+1:9: +1:14
StorageLive ( _20 ) ; // scope 1 at $DIR/async_await.rs:+1:9: +1:14
_20 = ( ) ; // scope 1 at $DIR/async_await.rs:+1:9: +1:14
_0 = Poll ::< ( ) > ::Pending ; // scope 1 at $DIR/async_await.rs:+1:9: +1:14
discriminant ( ( * ( _1 . 0 : & mut [ async fn body @ $DIR / async_await . rs :14 :18 : 17 :2 ] ) ) ) = 3 ; // scope 1 at $DIR/async_await.rs:+1:9: +1:14
return ; // scope 1 at $DIR/async_await.rs:+1:9: +1:14
2022-12-20 08:15:29 -06:00
}
bb9 : {
2023-04-25 13:59:16 -05:00
unreachable ; // scope 1 at $DIR/async_await.rs:+1:9: +1:14
2022-12-20 08:15:29 -06:00
}
bb10 : {
StorageLive ( _17 ) ; // scope 1 at $DIR/async_await.rs:+1:5: +1:14
_17 = ( ( _9 as Ready ) . 0 : ( ) ) ; // scope 1 at $DIR/async_await.rs:+1:5: +1:14
_3 = _17 ; // scope 3 at $DIR/async_await.rs:+1:5: +1:14
StorageDead ( _17 ) ; // scope 1 at $DIR/async_await.rs:+1:13: +1:14
StorageDead ( _14 ) ; // scope 1 at $DIR/async_await.rs:+1:13: +1:14
StorageDead ( _12 ) ; // scope 1 at $DIR/async_await.rs:+1:13: +1:14
StorageDead ( _9 ) ; // scope 1 at $DIR/async_await.rs:+1:13: +1:14
StorageDead ( _8 ) ; // scope 1 at $DIR/async_await.rs:+1:13: +1:14
goto -> bb12 ; // scope 0 at $DIR/async_await.rs:+1:13: +1:14
}
bb11 : {
StorageDead ( _20 ) ; // scope 1 at $DIR/async_await.rs:+1:13: +1:14
2023-04-25 13:59:16 -05:00
_38 = move _19 ; // scope 1 at $DIR/async_await.rs:+1:9: +1:14
2022-12-20 08:15:29 -06:00
StorageDead ( _19 ) ; // scope 1 at $DIR/async_await.rs:+1:13: +1:14
2023-04-25 13:59:16 -05:00
_7 = const ( ) ; // scope 1 at $DIR/async_await.rs:+1:9: +1:14
goto -> bb4 ; // scope 1 at $DIR/async_await.rs:+1:9: +1:14
2022-12-20 08:15:29 -06:00
}
bb12 : {
nop ; // scope 0 at $DIR/async_await.rs:+1:13: +1:14
goto -> bb13 ; // scope 0 at $DIR/async_await.rs:+1:14: +1:15
}
bb13 : {
StorageDead ( _4 ) ; // scope 0 at $DIR/async_await.rs:+1:14: +1:15
StorageDead ( _3 ) ; // scope 0 at $DIR/async_await.rs:+1:14: +1:15
2023-04-25 13:59:16 -05:00
StorageLive ( _21 ) ; // scope 0 at $DIR/async_await.rs:+2:9: +2:14
2022-12-20 08:15:29 -06:00
StorageLive ( _22 ) ; // scope 0 at $DIR/async_await.rs:+2:5: +2:8
2023-04-05 03:17:40 -05:00
_22 = a ( ) -> [ return : bb14 , unwind unreachable ] ; // scope 0 at $DIR/async_await.rs:+2:5: +2:8
2022-12-20 08:15:29 -06:00
// mir::Constant
// + span: $DIR/async_await.rs:16:5: 16:6
// + literal: Const { ty: fn() -> impl Future<Output = ()> {a}, val: Value(<ZST>) }
}
bb14 : {
2023-04-25 13:59:16 -05:00
_21 = < impl Future < Output = ( ) > as IntoFuture > ::into_future ( move _22 ) -> [ return : bb15 , unwind unreachable ] ; // scope 0 at $DIR/async_await.rs:+2:9: +2:14
2022-12-20 08:15:29 -06:00
// mir::Constant
2023-04-25 13:59:16 -05:00
// + span: $DIR/async_await.rs:16:9: 16:14
2022-12-20 08:15:29 -06:00
// + literal: Const { ty: fn(impl Future<Output = ()>) -> <impl Future<Output = ()> as IntoFuture>::IntoFuture {<impl Future<Output = ()> as IntoFuture>::into_future}, val: Value(<ZST>) }
}
bb15 : {
StorageDead ( _22 ) ; // scope 0 at $DIR/async_await.rs:+2:13: +2:14
2023-04-25 13:59:16 -05:00
nop ; // scope 0 at $DIR/async_await.rs:+2:9: +2:14
( ( ( * ( _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 ; // scope 0 at $DIR/async_await.rs:+2:9: +2:14
goto -> bb16 ; // scope 4 at $DIR/async_await.rs:+2:9: +2:14
2022-12-20 08:15:29 -06:00
}
bb16 : {
2023-04-25 13:59:16 -05:00
StorageLive ( _24 ) ; // scope 4 at $DIR/async_await.rs:+2:9: +2:14
StorageLive ( _25 ) ; // scope 4 at $DIR/async_await.rs:+2:9: +2:14
StorageLive ( _26 ) ; // scope 5 at $DIR/async_await.rs:+2:9: +2:14
StorageLive ( _27 ) ; // scope 5 at $DIR/async_await.rs:+2:9: +2:14
StorageLive ( _28 ) ; // scope 5 at $DIR/async_await.rs:+2:9: +2:14
_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 = ( ) > ) ; // scope 5 at $DIR/async_await.rs:+2:9: +2:14
_27 = & mut ( * _28 ) ; // scope 5 at $DIR/async_await.rs:+2:9: +2:14
_26 = Pin ::< & mut impl Future < Output = ( ) > > ::new_unchecked ( move _27 ) -> [ return : bb17 , unwind unreachable ] ; // scope 5 at $DIR/async_await.rs:+2:9: +2:14
2022-12-20 08:15:29 -06:00
// mir::Constant
2023-04-25 13:59:16 -05:00
// + span: $DIR/async_await.rs:16:9: 16:14
2022-12-20 08:15:29 -06:00
// + literal: Const { ty: unsafe fn(&mut impl Future<Output = ()>) -> Pin<&mut impl Future<Output = ()>> {Pin::<&mut impl Future<Output = ()>>::new_unchecked}, val: Value(<ZST>) }
}
bb17 : {
StorageDead ( _27 ) ; // scope 5 at $DIR/async_await.rs:+2:13: +2:14
StorageLive ( _29 ) ; // scope 5 at $DIR/async_await.rs:+2:5: +2:14
StorageLive ( _30 ) ; // scope 5 at $DIR/async_await.rs:+2:5: +2:14
2023-04-25 13:59:16 -05:00
StorageLive ( _31 ) ; // scope 5 at $DIR/async_await.rs:+2:9: +2:14
_31 = _38 ; // scope 5 at $DIR/async_await.rs:+2:9: +2:14
2022-12-20 08:15:29 -06:00
_30 = move _31 ; // scope 5 at $DIR/async_await.rs:+2:5: +2:14
goto -> bb18 ; // scope 5 at $DIR/async_await.rs:+2:5: +2:14
}
bb18 : {
_29 = & mut ( * _30 ) ; // scope 5 at $DIR/async_await.rs:+2:5: +2:14
StorageDead ( _31 ) ; // scope 5 at $DIR/async_await.rs:+2:13: +2:14
2023-04-25 13:59:16 -05:00
_25 = < impl Future < Output = ( ) > as Future > ::poll ( move _26 , move _29 ) -> [ return : bb19 , unwind unreachable ] ; // scope 5 at $DIR/async_await.rs:+2:9: +2:14
2022-12-20 08:15:29 -06:00
// mir::Constant
2023-04-25 13:59:16 -05:00
// + span: $DIR/async_await.rs:16:9: 16:14
2022-12-20 08:15:29 -06:00
// + literal: Const { ty: for<'a, 'b, 'c> fn(Pin<&'a mut impl Future<Output = ()>>, &'b mut Context<'c>) -> Poll<<impl Future<Output = ()> as Future>::Output> {<impl Future<Output = ()> as Future>::poll}, val: Value(<ZST>) }
}
bb19 : {
StorageDead ( _29 ) ; // scope 5 at $DIR/async_await.rs:+2:13: +2:14
StorageDead ( _26 ) ; // scope 5 at $DIR/async_await.rs:+2:13: +2:14
2023-04-25 13:59:16 -05:00
_32 = discriminant ( _25 ) ; // scope 4 at $DIR/async_await.rs:+2:9: +2:14
switchInt ( move _32 ) -> [ 0 : bb21 , 1 : bb20 , otherwise : bb9 ] ; // scope 4 at $DIR/async_await.rs:+2:9: +2:14
2022-12-20 08:15:29 -06:00
}
bb20 : {
2023-04-25 13:59:16 -05:00
_24 = const ( ) ; // scope 4 at $DIR/async_await.rs:+2:9: +2:14
2022-12-20 08:15:29 -06:00
StorageDead ( _30 ) ; // scope 4 at $DIR/async_await.rs:+2:13: +2:14
StorageDead ( _28 ) ; // scope 4 at $DIR/async_await.rs:+2:13: +2:14
StorageDead ( _25 ) ; // scope 4 at $DIR/async_await.rs:+2:13: +2:14
StorageDead ( _24 ) ; // scope 4 at $DIR/async_await.rs:+2:13: +2:14
2023-04-25 13:59:16 -05:00
StorageLive ( _35 ) ; // scope 4 at $DIR/async_await.rs:+2:9: +2:14
StorageLive ( _36 ) ; // scope 4 at $DIR/async_await.rs:+2:9: +2:14
_36 = ( ) ; // scope 4 at $DIR/async_await.rs:+2:9: +2:14
_0 = Poll ::< ( ) > ::Pending ; // scope 4 at $DIR/async_await.rs:+2:9: +2:14
discriminant ( ( * ( _1 . 0 : & mut [ async fn body @ $DIR / async_await . rs :14 :18 : 17 :2 ] ) ) ) = 4 ; // scope 4 at $DIR/async_await.rs:+2:9: +2:14
return ; // scope 4 at $DIR/async_await.rs:+2:9: +2:14
2022-12-20 08:15:29 -06:00
}
bb21 : {
StorageLive ( _33 ) ; // scope 4 at $DIR/async_await.rs:+2:5: +2:14
_33 = ( ( _25 as Ready ) . 0 : ( ) ) ; // scope 4 at $DIR/async_await.rs:+2:5: +2:14
_37 = _33 ; // scope 6 at $DIR/async_await.rs:+2:5: +2:14
StorageDead ( _33 ) ; // scope 4 at $DIR/async_await.rs:+2:13: +2:14
StorageDead ( _30 ) ; // scope 4 at $DIR/async_await.rs:+2:13: +2:14
StorageDead ( _28 ) ; // scope 4 at $DIR/async_await.rs:+2:13: +2:14
StorageDead ( _25 ) ; // scope 4 at $DIR/async_await.rs:+2:13: +2:14
StorageDead ( _24 ) ; // scope 4 at $DIR/async_await.rs:+2:13: +2:14
2023-02-24 15:32:10 -06:00
goto -> bb23 ; // scope 0 at $DIR/async_await.rs:+2:13: +2:14
2022-12-20 08:15:29 -06:00
}
2023-02-24 15:32:10 -06:00
bb22 : {
2022-12-20 08:15:29 -06:00
StorageDead ( _36 ) ; // scope 4 at $DIR/async_await.rs:+2:13: +2:14
2023-04-25 13:59:16 -05:00
_38 = move _35 ; // scope 4 at $DIR/async_await.rs:+2:9: +2:14
2022-12-20 08:15:29 -06:00
StorageDead ( _35 ) ; // scope 4 at $DIR/async_await.rs:+2:13: +2:14
2023-04-25 13:59:16 -05:00
_7 = const ( ) ; // scope 4 at $DIR/async_await.rs:+2:9: +2:14
goto -> bb16 ; // scope 4 at $DIR/async_await.rs:+2:9: +2:14
2022-12-20 08:15:29 -06:00
}
2023-02-24 15:32:10 -06:00
bb23 : {
2022-12-20 08:15:29 -06:00
nop ; // scope 0 at $DIR/async_await.rs:+2:13: +2:14
2023-02-24 15:32:10 -06:00
goto -> bb24 ; // scope 0 at $DIR/async_await.rs:+3:1: +3:2
2022-12-20 08:15:29 -06:00
}
2023-02-24 15:32:10 -06:00
bb24 : {
2022-12-20 08:15:29 -06:00
StorageDead ( _21 ) ; // scope 0 at $DIR/async_await.rs:+3:1: +3:2
2023-02-24 15:32:10 -06:00
goto -> bb25 ; // scope 0 at $DIR/async_await.rs:+3:1: +3:2
2022-12-20 08:15:29 -06:00
}
2023-02-24 15:32:10 -06:00
bb25 : {
2023-01-25 12:34:19 -06:00
_0 = Poll ::< ( ) > ::Ready ( move _37 ) ; // scope 0 at $DIR/async_await.rs:+3:2: +3:2
2022-12-20 08:15:29 -06:00
discriminant ( ( * ( _1 . 0 : & mut [ async fn body @ $DIR / async_await . rs :14 :18 : 17 :2 ] ) ) ) = 1 ; // scope 0 at $DIR/async_await.rs:+3:2: +3:2
return ; // scope 0 at $DIR/async_await.rs:+3:2: +3:2
}
2023-02-24 15:32:10 -06:00
bb26 : {
2022-12-20 08:15:29 -06:00
StorageLive ( _3 ) ; // scope 0 at $DIR/async_await.rs:+0:18: +3:2
StorageLive ( _4 ) ; // scope 0 at $DIR/async_await.rs:+0:18: +3:2
StorageLive ( _19 ) ; // scope 0 at $DIR/async_await.rs:+0:18: +3:2
StorageLive ( _20 ) ; // scope 0 at $DIR/async_await.rs:+0:18: +3:2
_19 = move _2 ; // scope 0 at $DIR/async_await.rs:+0:18: +3:2
goto -> bb11 ; // scope 0 at $DIR/async_await.rs:+0:18: +3:2
}
2023-02-24 15:32:10 -06:00
bb27 : {
2022-12-20 08:15:29 -06:00
StorageLive ( _21 ) ; // scope 0 at $DIR/async_await.rs:+0:18: +3:2
StorageLive ( _35 ) ; // scope 0 at $DIR/async_await.rs:+0:18: +3:2
StorageLive ( _36 ) ; // scope 0 at $DIR/async_await.rs:+0:18: +3:2
_35 = move _2 ; // scope 0 at $DIR/async_await.rs:+0:18: +3:2
2023-02-24 15:32:10 -06:00
goto -> bb22 ; // scope 0 at $DIR/async_await.rs:+0:18: +3:2
2022-12-20 08:15:29 -06:00
}
2023-02-24 15:32:10 -06:00
bb28 : {
assert ( const false , " `async fn` resumed after completion " ) -> bb28 ; // scope 0 at $DIR/async_await.rs:+0:18: +3:2
2022-12-20 08:15:29 -06:00
}
2023-02-24 15:32:10 -06:00
bb29 : {
2022-12-20 08:15:29 -06:00
unreachable ; // scope 0 at $DIR/async_await.rs:+0:18: +3:2
}
}