It will be convenient to allow comparing two iterators like comparing two slices/arrays/vectors.
PartialEq::eq takes shared references as arguments. There is
Iterator::eq for convenience Iterator in std::iter - Rust
Also, conflicting implementations. Types like
Vec<T> (and similarly, types in 3rd party crates) already have a
PartialEq implementation, but also fulfill
Self: IntoIterator (as well as
&Self: IntoIterator, in case that’s an idea to avoid the shared-reference-arguments issue @sahnehaeubchen mentioned).