diff --git a/src/free.rs b/src/free.rs index d93eb2bef..db26df7a0 100644 --- a/src/free.rs +++ b/src/free.rs @@ -105,22 +105,26 @@ pub fn rev(iterable: I) -> iter::Rev iterable.into_iter().rev() } -/// Iterate `i` and `j` in lock step. +/// Returns an iterator pairing two iterators together in lock step. +/// +/// `zip()` returns an iterator where each item consists of items from the _first_ and _second_ iterator. +/// The returned iterator has as many items as the shortest of the two iterators passed in. /// /// [`IntoIterator`] enabled version of [`Iterator::zip`]. +/// +/// ## Example /// /// ``` /// use itertools::zip; /// -/// let data_1 = [1, 2, 3, 4, 5]; -/// let data_2 = ['a', 'b', 'c']; /// let mut result: Vec<(i32, char)> = Vec::new(); /// -/// for (a, b) in zip(&data_1, &data_2) { +/// for (a, b) in zip(&[1, 2, 3, 4, 5], &['a', 'b', 'c']) { /// result.push((*a, *b)); /// } /// assert_eq!(result, vec![(1, 'a'),(2, 'b'),(3, 'c')]); /// ``` +#[deprecated(note="Use std::iter::zip instead", since="1.59.0")] pub fn zip(i: I, j: J) -> Zip where I: IntoIterator, J: IntoIterator