rust/tests/ui/traits/next-solver/diagnostics/ambiguous-pass.rs

22 lines
356 B
Rust

//@ compile-flags: -Znext-solver
trait Trait {
type Assoc;
}
struct W<T>(*mut T);
impl<T> Trait for W<W<T>>
where
W<T>: Trait,
{
type Assoc = ();
}
trait NoOverlap {}
impl<T: Trait> NoOverlap for T {}
impl<T: Trait<Assoc = ()>> NoOverlap for W<T> {}
//~^ ERROR conflicting implementations of trait `NoOverlap` for type `W<_>`
fn main() {}