// 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: bb2, otherwise: bb3]; } bb1: { _4 = move _2; _3 = const (); _0 = Poll::<()>::Ready(move _3); discriminant((*(_1.0: &mut [async fn body@$DIR/async_await.rs:11:14: 11:16]))) = 1; return; } bb2: { assert(const false, "`async fn` resumed after completion") -> [success: bb2, unwind continue]; } bb3: { unreachable; } }