/// 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>;