//@ compile-flags: -Znext-solver trait Foo1 { type Assoc1; } trait Foo2 { type Assoc2; } trait Bar {} fn needs_bar() {} fn test::Assoc2> + Foo2::Assoc1>>() { needs_bar::(); //~^ ERROR overflow evaluating the requirement `::Assoc1 == _` //~| ERROR overflow evaluating the requirement `::Assoc1 == _` //~| ERROR overflow evaluating the requirement `::Assoc1 == _` //~| ERROR overflow evaluating the requirement `::Assoc1 == _` //~| ERROR overflow evaluating the requirement `::Assoc1: Sized` //~| ERROR overflow evaluating the requirement `::Assoc1: Bar` } fn main() {}