//@ compile-flags: -Znext-solver //@ check-pass // Regression test for . // Tests that we don't try to replace `::Assoc` when replacing projections in the // required bounds for `dyn Foo`, b/c `T` is not relevant to the dyn type, which we were // encountering when walking through the elaborated supertraits of `dyn Foo`. trait Other {} trait Foo>: Other<>::Assoc> { type Assoc; } impl Foo for T { type Assoc = (); } impl Other<()> for T {} fn is_foo + ?Sized>() {} fn main() { is_foo::>(); }