// Verify that we do not ICE inlining a function which uses _0 as an index. // EMIT_MIR_FOR_EACH_PANIC_STRATEGY pub fn outer() -> usize { // CHECK-LABEL: fn outer( // CHECK: = {{.*}}[_0]; inner() } #[inline(never)] fn index() -> usize { loop {} } #[inline] fn inner() -> usize { // CHECK-LABEL: fn inner( // CHECK: = {{.*}}[_0]; let buffer = &[true]; let index = index(); if buffer[index] { index } else { 0 } } fn main() { outer(); } // EMIT_MIR issue_106141.outer.Inline.diff