Remove array_zip
`[T; N]::zip` is "eager" but most zips are mapped. This causes poor optimization in generated code. This is a fundamental design issue and "zip" is "prime real estate" in terms of function names, so let's free it up again.
This commit is contained in:
parent
165cddafe9
commit
472230d192
3 changed files with 0 additions and 45 deletions
|
@ -538,29 +538,6 @@ impl<T, const N: usize> [T; N] {
|
|||
drain_array_with(self, |iter| try_from_trusted_iterator(iter.map(f)))
|
||||
}
|
||||
|
||||
/// 'Zips up' two arrays into a single array of pairs.
|
||||
///
|
||||
/// `zip()` returns a new array where every element is a tuple where the
|
||||
/// first element comes from the first array, and the second element comes
|
||||
/// from the second array. In other words, it zips two arrays together,
|
||||
/// into a single one.
|
||||
///
|
||||
/// # Examples
|
||||
///
|
||||
/// ```
|
||||
/// #![feature(array_zip)]
|
||||
/// let x = [1, 2, 3];
|
||||
/// let y = [4, 5, 6];
|
||||
/// let z = x.zip(y);
|
||||
/// assert_eq!(z, [(1, 4), (2, 5), (3, 6)]);
|
||||
/// ```
|
||||
#[unstable(feature = "array_zip", issue = "80094")]
|
||||
pub fn zip<U>(self, rhs: [U; N]) -> [(T, U); N] {
|
||||
drain_array_with(self, |lhs| {
|
||||
drain_array_with(rhs, |rhs| from_trusted_iterator(crate::iter::zip(lhs, rhs)))
|
||||
})
|
||||
}
|
||||
|
||||
/// Returns a slice containing the entire array. Equivalent to `&s[..]`.
|
||||
#[stable(feature = "array_as_slice", since = "1.57.0")]
|
||||
#[rustc_const_stable(feature = "array_as_slice", since = "1.57.0")]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue