error[E0119]: conflicting implementations of trait `Foo` for type `std::vec::Vec<_>`: --> $DIR/specialization-overlap.rs:5:1 | LL | impl Foo for T {} | ------------------------ first implementation here LL | impl Foo for Vec {} //~ ERROR E0119 | ^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `std::vec::Vec<_>` error[E0119]: conflicting implementations of trait `Bar` for type `(u8, u8)`: --> $DIR/specialization-overlap.rs:9:1 | LL | impl Bar for (T, u8) {} | ----------------------- first implementation here LL | impl Bar for (u8, T) {} //~ ERROR E0119 | ^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `(u8, u8)` error[E0119]: conflicting implementations of trait `Baz` for type `u8`: --> $DIR/specialization-overlap.rs:13:1 | LL | impl Baz for u8 {} | --------------------- first implementation here LL | impl Baz for T {} //~ ERROR E0119 | ^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `u8` error[E0119]: conflicting implementations of trait `Qux`: --> $DIR/specialization-overlap.rs:17:1 | LL | impl Qux for T {} | ------------------------ first implementation here LL | impl Qux for T {} //~ ERROR E0119 | ^^^^^^^^^^^^^^^^^^^^^ conflicting implementation error: aborting due to 4 previous errors For more information about this error, try `rustc --explain E0119`.