I was surprised the following gives a "conflicting implementations" error. What's the reason?
trait A {
type M;
}
trait B { }
impl<T> B for T where T: A<M=u8> {}
impl<T> B for T where T: A<M=u16> {}
How could T
implement A<M=u8>
and A<M=u16>
?