Does anyone know why PartialEq has a number of impls over a single type when there could potentially be more general ones? For example, this one for
impl<T> PartialEq<Cell<T>> for Cell<T> where T: PartialEq<T> + Copy
Which could be:
impl<A, B> PartialEq<Cell<B>> for Cell<A> where A: PartialEq<B> + Copy, B: Copy
I'm curious if there's subtle reasons to avoid the second form that I can't see, or if this is a historical artefact or simply that they just haven't been implemented yet.