// compile-flags: -Ztrait-solver=next // check-pass trait Id { type Assoc; } impl Id for T { type Assoc = T; } // Coherence should be able to reason that `(): PartialEq<::Assoc>>` // does not hold. // // See https://github.com/rust-lang/trait-system-refactor-initiative/issues/51 // for more details. trait Trait {} impl Trait for T where (): PartialEq {} struct LocalTy; impl Trait for ::Assoc {} fn main() {}