// MIR for `main::{closure#0}::{closure#0}::{closure#0}` after built fn main::{closure#0}::{closure#0}::{closure#0}(_1: {async closure body@$DIR/async_closure_shims.rs:54:53: 57:10}, _2: ResumeTy) -> () yields () { debug _task_context => _2; debug a => (_1.0: i32); debug b => (*(_1.1: &i32)); let mut _0: (); let _3: i32; scope 1 { debug a => _3; let _4: &i32; scope 2 { debug a => _4; let _5: &i32; scope 3 { debug b => _5; } } } bb0: { StorageLive(_3); _3 = copy (_1.0: i32); FakeRead(ForLet(None), _3); StorageLive(_4); _4 = &_3; FakeRead(ForLet(None), _4); StorageLive(_5); _5 = &(*(_1.1: &i32)); FakeRead(ForLet(None), _5); _0 = const (); StorageDead(_5); StorageDead(_4); StorageDead(_3); drop(_1) -> [return: bb1, unwind: bb2]; } bb1: { return; } bb2 (cleanup): { resume; } }