1 error[E0119]: conflicting implementations of trait `Foo` for type `std::vec::Vec<_>`:
2 --> $DIR/specialization-overlap.rs:15:1
4 LL | impl<T: Clone> Foo for T {}
5 | ------------------------ first implementation here
6 LL | impl<T> Foo for Vec<T> {} //~ ERROR E0119
7 | ^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `std::vec::Vec<_>`
9 error[E0119]: conflicting implementations of trait `Bar` for type `(u8, u8)`:
10 --> $DIR/specialization-overlap.rs:19:1
12 LL | impl<T> Bar for (T, u8) {}
13 | ----------------------- first implementation here
14 LL | impl<T> Bar for (u8, T) {} //~ ERROR E0119
15 | ^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `(u8, u8)`
17 error[E0119]: conflicting implementations of trait `Baz<u8>` for type `u8`:
18 --> $DIR/specialization-overlap.rs:23:1
20 LL | impl<T> Baz<T> for u8 {}
21 | --------------------- first implementation here
22 LL | impl<T> Baz<u8> for T {} //~ ERROR E0119
23 | ^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `u8`
25 error[E0119]: conflicting implementations of trait `Qux`:
26 --> $DIR/specialization-overlap.rs:27:1
28 LL | impl<T: Clone> Qux for T {}
29 | ------------------------ first implementation here
30 LL | impl<T: Eq> Qux for T {} //~ ERROR E0119
31 | ^^^^^^^^^^^^^^^^^^^^^ conflicting implementation
33 error: aborting due to 4 previous errors
35 For more information about this error, try `rustc --explain E0119`.