Landed in #62205
Public API
pub mod core { pub mod iter { mod traits { mod iterator { pub trait Iterator { fn cmp_by<I, F>(mut self, other: I, mut cmp: F) -> Ordering where Self: Sized, I: IntoIterator, F: FnMut(Self::Item, I::Item) -> Ordering, { } fn partial_cmp_by<I, F>( mut self, other: I, mut partial_cmp: F, ) -> Option<Ordering> where Self: Sized, I: IntoIterator, F: FnMut(Self::Item, I::Item) -> Option<Ordering>, { } fn eq_by<I, F>(mut self, other: I, mut eq: F) -> bool where Self: Sized, I: IntoIterator, F: FnMut(Self::Item, I::Item) -> bool, { } } } } } }
Before stabilization:
- Stabilization PR
Open questions
- Should we use
size_hintas an optimization for equality checking? That means buggy iterators may return incorrect results foreq_by. We could optimize for just a handful ofTrustedLeniterators instead.