// MIR for `foo` after Inline fn foo(_1: T, _2: &i32) -> i32 { debug _t => _1; debug q => _2; let mut _0: i32; let _3: [closure@foo::{closure#0}]; let mut _4: &[closure@foo::{closure#0}]; let mut _5: (&i32, &i32); let mut _6: &i32; let mut _7: &i32; let mut _8: &i32; let mut _9: &i32; scope 1 { debug x => _3; scope 2 (inlined foo::::{closure#0}) { debug r => _8; debug _s => _9; scope 3 { debug variable => _8; } } } bb0: { StorageLive(_3); _3 = [closure@foo::::{closure#0}]; StorageLive(_4); _4 = &_3; StorageLive(_5); StorageLive(_6); _6 = &(*_2); StorageLive(_7); _7 = &(*_2); _5 = (move _6, move _7); StorageLive(_8); _8 = move (_5.0: &i32); StorageLive(_9); _9 = move (_5.1: &i32); _0 = (*_8); StorageDead(_9); StorageDead(_8); StorageDead(_7); StorageDead(_6); StorageDead(_5); StorageDead(_4); StorageDead(_3); return; } }