mirror of
https://github.com/rust-lang/rust.git
synced 2025-02-17 01:13:11 +00:00
Add remark regarding DoubleEndedIterator
This commit is contained in:
parent
aeca4d6428
commit
b60fe399f3
@ -63,6 +63,32 @@ pub trait DoubleEndedIterator: Iterator {
|
||||
/// assert_eq!(None, iter.next());
|
||||
/// assert_eq!(None, iter.next_back());
|
||||
/// ```
|
||||
///
|
||||
/// # Remarks
|
||||
///
|
||||
/// The elements yielded by `DoubleEndedIterator`'s methods may differ from
|
||||
/// the ones yielded by `Iterator`'s methods:
|
||||
///
|
||||
/// ```
|
||||
/// let vec = vec![(1, 'a'), (1, 'b'), (1, 'c'), (2, 'a'), (2, 'b')];
|
||||
/// let uniq_by_fst_comp = || {
|
||||
/// let mut seen = std::collections::HashSet::new();
|
||||
/// vec.iter().copied().filter(move |x| seen.insert(x.0))
|
||||
/// };
|
||||
///
|
||||
/// assert_eq!(uniq_by_fst_comp().last(), Some((2, 'a')));
|
||||
/// assert_eq!(uniq_by_fst_comp().next_back(), Some((2, 'b')));
|
||||
///
|
||||
/// assert_eq!(
|
||||
/// uniq_by_fst_comp().fold(vec![], |mut v, x| {v.push(x); v}),
|
||||
/// vec![(1, 'a'), (2, 'a')]
|
||||
/// );
|
||||
/// assert_eq!(
|
||||
/// uniq_by_fst_comp().rfold(vec![], |mut v, x| {v.push(x); v}),
|
||||
/// vec![(2, 'b'), (1, 'c')]
|
||||
/// );
|
||||
/// ```
|
||||
///
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
fn next_back(&mut self) -> Option<Self::Item>;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user