rust/tests/mir-opt/inline/inline_closure.foo.Inline.after.mir

48 lines
1.1 KiB
Rust

// 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<T>::{closure#0}};
let mut _4: &{closure@foo<T>::{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::<T>::{closure#0}) {
debug _t => _8;
debug _q => _9;
}
}
bb0: {
StorageLive(_3);
_3 = {closure@foo::<T>::{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;
}
}