| // MIR for `main::{closure#0}::{closure#1}::{closure#1}` after built |
| |
| fn main::{closure#0}::{closure#1}::{closure#1}(_1: {async closure body@$DIR/async_closure_shims.rs:63:48: 66: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; |
| } |
| } |