diff options
| author | Albin Hedman <albin9604@gmail.com> | 2020-12-16 18:32:29 +0100 |
|---|---|---|
| committer | Albin Hedman <albin9604@gmail.com> | 2020-12-16 18:35:56 +0100 |
| commit | be2c8f2d436d777cbdac73f6dd238ea135048ff5 (patch) | |
| tree | e03373ad110e4c98ae6e4a15623643afef7846b0 /library/core/src/array | |
| parent | 2f35fb1e116d5da9e851c1a298390078ea7089ed (diff) | |
| download | rust-be2c8f2d436d777cbdac73f6dd238ea135048ff5.tar.gz rust-be2c8f2d436d777cbdac73f6dd238ea135048ff5.zip | |
Update zip for better codegen, see discussion
Diffstat (limited to 'library/core/src/array')
| -rw-r--r-- | library/core/src/array/mod.rs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/library/core/src/array/mod.rs b/library/core/src/array/mod.rs index 02b771863e9..9de87922f54 100644 --- a/library/core/src/array/mod.rs +++ b/library/core/src/array/mod.rs @@ -481,8 +481,8 @@ impl<T, const N: usize> [T; N] { use crate::mem::MaybeUninit; let mut dst = MaybeUninit::uninit_array::<N>(); - for ((lhs, rhs), dst) in IntoIter::new(self).zip(IntoIter::new(rhs)).zip(&mut dst) { - dst.write((lhs, rhs)); + for (i, (lhs, rhs)) in IntoIter::new(self).zip(IntoIter::new(rhs)).enumerate() { + dst[i].write((lhs, rhs)); } // FIXME: Convert to crate::mem::transmute once it works with generics. // unsafe { crate::mem::transmute::<[MaybeUninit<U>; N], [U; N]>(dst) } |
