EG
Size: a a a
EG
/
EG
EG
p
rust
trait M<A> {}
impl<A, B> M<A> for (A, B) {}
impl<A, B> M<B> for (A, B) {}
fn main() {}
error[E0119]: conflicting implementations of trait `M<_>` for type `(_, _)`:
--> 845880507/source.rs:3:1
|
2 | impl<A, B> M<A> for (A, B) {}
| -------------------------- first implementation here
3 | impl<A, B> M<B> for (A, B) {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `(_, _)`
error: aborting due to previous error
For more information about this error, try `rustc --explain E0119`.
p
EG
rust
trait M<A> {}
impl<A, B> M<A> for (A, B) {}
impl<A, B> M<B> for (A, B) {}
fn main() {}
error[E0119]: conflicting implementations of trait `M<_>` for type `(_, _)`:
--> 845880507/source.rs:3:1
|
2 | impl<A, B> M<A> for (A, B) {}
| -------------------------- first implementation here
3 | impl<A, B> M<B> for (A, B) {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `(_, _)`
error: aborting due to previous error
For more information about this error, try `rustc --explain E0119`.
EG
EG
EG
p
p
EG
impl<A, B> M<B> for (A, B)
// ==
impl<B, A> M<B> for (A, B)
impl<A, B> M<B> for (A, B)
// ==
impl <A, B> M<A> for (A, B)
EG
p
impl<A, B> M<B> for (A, B)
// ==
impl<B, A> M<B> for (A, B)
impl<A, B> M<B> for (A, B)
// ==
impl <A, B> M<A> for (A, B)
EG
A != B
?p
p
A != B
?EG
EG
A != B