From 79cd2dbe72781e14adb321483cfed1d861a598ce Mon Sep 17 00:00:00 2001 From: Daniel Micay Date: Sat, 15 Jun 2013 18:02:05 -0400 Subject: [PATCH] iterator: work around method resolve bug --- src/libstd/iterator.rs | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/libstd/iterator.rs b/src/libstd/iterator.rs index a8969f1da6e2..a505c5523598 100644 --- a/src/libstd/iterator.rs +++ b/src/libstd/iterator.rs @@ -310,10 +310,10 @@ pub trait IteratorUtil { fn any_(&mut self, f: &fn(A) -> bool) -> bool; /// Return the first element satisfying the specified predicate - fn find(&mut self, predicate: &fn(&A) -> bool) -> Option; + fn find_(&mut self, predicate: &fn(&A) -> bool) -> Option; /// Return the index of the first element satisfying the specified predicate - fn position(&mut self, predicate: &fn(A) -> bool) -> Option; + fn position_(&mut self, predicate: &fn(A) -> bool) -> Option; } /// Iterator adaptors provided for every `Iterator` implementation. The adaptor objects are also @@ -448,7 +448,7 @@ impl> IteratorUtil for T { /// Return the first element satisfying the specified predicate #[inline(always)] - fn find(&mut self, predicate: &fn(&A) -> bool) -> Option { + fn find_(&mut self, predicate: &fn(&A) -> bool) -> Option { for self.advance |x| { if predicate(&x) { return Some(x) } } @@ -457,7 +457,7 @@ impl> IteratorUtil for T { /// Return the index of the first element satisfying the specified predicate #[inline] - fn position(&mut self, predicate: &fn(A) -> bool) -> Option { + fn position_(&mut self, predicate: &fn(A) -> bool) -> Option { let mut i = 0; for self.advance |x| { if predicate(x) { @@ -1087,16 +1087,16 @@ mod tests { #[test] fn test_find() { let v = &[1, 3, 9, 27, 103, 14, 11]; - assert_eq!(*v.iter().find(|x| *x & 1 == 0).unwrap(), 14); - assert_eq!(*v.iter().find(|x| *x % 3 == 0).unwrap(), 3); - assert!(v.iter().find(|x| *x % 12 == 0).is_none()); + assert_eq!(*v.iter().find_(|x| *x & 1 == 0).unwrap(), 14); + assert_eq!(*v.iter().find_(|x| *x % 3 == 0).unwrap(), 3); + assert!(v.iter().find_(|x| *x % 12 == 0).is_none()); } #[test] fn test_position() { let v = &[1, 3, 9, 27, 103, 14, 11]; - assert_eq!(v.iter().position(|x| *x & 1 == 0).unwrap(), 5); - assert_eq!(v.iter().position(|x| *x % 3 == 0).unwrap(), 1); - assert!(v.iter().position(|x| *x % 12 == 0).is_none()); + assert_eq!(v.iter().position_(|x| *x & 1 == 0).unwrap(), 5); + assert_eq!(v.iter().position_(|x| *x % 3 == 0).unwrap(), 1); + assert!(v.iter().position_(|x| *x % 12 == 0).is_none()); } }