// EMIT_MIR_FOR_EACH_PANIC_STRATEGY // needs-unwind #![crate_type = "lib"] pub trait Factory { type Item; } pub struct IntFactory; impl Factory for IntFactory { type Item = usize; } // EMIT_MIR caller_with_trivial_bound.foo.Inline.diff pub fn foo() where // Because of this trivial bound, the inliner fails to normalize // `>::Item`. // Verify that we do not inline anything, which would cause validation ICEs. IntFactory: Factory, { // CHECK-LABEL: fn foo( // CHECK-NOT: (inlined bar::) let mut x: >::Item = bar::(); } #[inline(always)] pub fn bar() -> >::Item { 0usize }