| // MIR for `a::{closure#0}` 0 generator_resume |
| /* generator_layout = GeneratorLayout { |
| field_tys: {}, |
| variant_fields: { |
| Unresumed(0): [], |
| Returned (1): [], |
| Panicked (2): [], |
| }, |
| storage_conflicts: BitMatrix(0x0) {}, |
| } */ |
| |
| fn a::{closure#0}(_1: Pin<&mut {async fn body@$DIR/async_await.rs:11:14: 11:16}>, _2: &mut Context<'_>) -> Poll<()> { |
| debug _task_context => _4; |
| let mut _0: std::task::Poll<()>; |
| let mut _3: (); |
| let mut _4: &mut std::task::Context<'_>; |
| let mut _5: u32; |
| |
| bb0: { |
| _5 = discriminant((*(_1.0: &mut {async fn body@$DIR/async_await.rs:11:14: 11:16}))); |
| switchInt(move _5) -> [0: bb1, 1: bb4, otherwise: bb5]; |
| } |
| |
| bb1: { |
| _4 = move _2; |
| _3 = const (); |
| goto -> bb3; |
| } |
| |
| bb2: { |
| _0 = Poll::<()>::Ready(move _3); |
| discriminant((*(_1.0: &mut {async fn body@$DIR/async_await.rs:11:14: 11:16}))) = 1; |
| return; |
| } |
| |
| bb3: { |
| goto -> bb2; |
| } |
| |
| bb4: { |
| assert(const false, "`async fn` resumed after completion") -> [success: bb4, unwind unreachable]; |
| } |
| |
| bb5: { |
| unreachable; |
| } |
| } |