// compile-flags: -Ztrait-solver=next trait Trait {} struct W(T); impl Trait for W<(W, W)> where W: Trait, W: Trait, { } fn impls() {} fn main() { impls::>(); //~^ ERROR type annotations needed //~| ERROR overflow evaluating the requirement `W<_>: Trait` }