From 07e4d69baa5b1bd3d4cc4a6c9e17c90168d6f058 Mon Sep 17 00:00:00 2001 From: Daniel Micay Date: Fri, 7 Jun 2013 14:45:31 -0400 Subject: [PATCH] iterator: work around method resolve bug (#5898) --- src/libstd/iterator.rs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/libstd/iterator.rs b/src/libstd/iterator.rs index 4bc545f607d..4ed82f63b39 100644 --- a/src/libstd/iterator.rs +++ b/src/libstd/iterator.rs @@ -285,7 +285,8 @@ pub trait IteratorUtil { /// let a = [1, 2, 3, 4, 5]; /// assert!(a.iter().last().get() == &5); /// ~~~ - fn last(&mut self) -> Option; + // FIXME: #5898: should be called `last` + fn last_(&mut self) -> Option; /// Performs a fold operation over the entire iterator, returning the /// eventual state at the end of the iteration. @@ -437,7 +438,7 @@ impl> IteratorUtil for T { /// Return the last item yielded by an iterator. #[inline(always)] - fn last(&mut self) -> Option { + fn last_(&mut self) -> Option { let mut last = None; for self.advance |x| { last = Some(x); } last @@ -1025,8 +1026,8 @@ mod tests { #[test] fn test_iterator_last() { let v = &[0, 1, 2, 3, 4]; - assert_eq!(v.iter().last().unwrap(), &4); - assert_eq!(v.slice(0, 1).iter().last().unwrap(), &0); + assert_eq!(v.iter().last_().unwrap(), &4); + assert_eq!(v.slice(0, 1).iter().last_().unwrap(), &0); } #[test]