// ICE regression relating to unconstrained lifetimes in implied // bounds. See #110161. //@ compile-flags: --crate-type=lib trait LtTrait { type Ty; } // erroneous `Ty` impl impl LtTrait for () { //~^ ERROR not all trait items implemented, missing: `Ty` [E0046] } // `'lt` is not constrained by the erroneous `Ty` impl<'lt, T> LtTrait for Box where T: LtTrait, { type Ty = &'lt (); } // unconstrained lifetime appears in implied bounds fn test(_: as LtTrait>::Ty) {} fn test2<'x>(_: &'x as LtTrait>::Ty) {}