diff --git a/src/libcore/iter.rs b/src/libcore/iter.rs index 5f5b8ef73ef54..da89dda3af191 100644 --- a/src/libcore/iter.rs +++ b/src/libcore/iter.rs @@ -244,6 +244,20 @@ pub trait IteratorExt: Iterator + Sized { /// assert_eq!(it.next().unwrap(), (&0, &1)); /// assert!(it.next().is_none()); /// ``` + /// + /// `zip` can provide similar functionality to `enumerate`: + /// + /// ``` + /// for pair in "foo".chars().enumerate() { + /// println!("{:?}", pair); + /// } + /// + /// for pair in (0..).zip("foo".chars()) { + /// println!("{:?}", pair); + /// } + /// ``` + /// + /// both produce the same output. #[inline] #[stable(feature = "rust1", since = "1.0.0")] fn zip(self, other: U) -> Zip { @@ -313,6 +327,9 @@ pub trait IteratorExt: Iterator + Sized { /// Creates an iterator that yields a pair of the value returned by this /// iterator plus the current index of iteration. /// + /// `enumerate` keeps its count as a `usize`. If you want to count by a + /// different sized integer, the `zip` function provides similar functionality. + /// /// # Examples /// /// ```