// 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}) { scope 3 { } } } bb0: { StorageLive(_3); _3 = {closure@foo::::{closure#0}}; StorageLive(_4); _4 = &_3; StorageLive(_5); StorageLive(_6); _6 = copy _2; StorageLive(_7); _7 = copy _2; _5 = (move _6, move _7); StorageLive(_8); _8 = move (_5.0: &i32); StorageLive(_9); _9 = move (_5.1: &i32); _0 = copy (*_8); StorageDead(_9); StorageDead(_8); StorageDead(_7); StorageDead(_6); StorageDead(_5); StorageDead(_4); StorageDead(_3); return; } }