From f9f58c94b7ec70ac28bbe6266a123ace6089e5be Mon Sep 17 00:00:00 2001 From: bluss Date: Tue, 23 Mar 2021 21:57:11 +0100 Subject: [PATCH] FIX: Use more efficient cloning in IntoIter::clone Using .extend_from_slice() where possible. --- src/arrayvec.rs | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/arrayvec.rs b/src/arrayvec.rs index 24bfb40..d1fa24a 100644 --- a/src/arrayvec.rs +++ b/src/arrayvec.rs @@ -821,11 +821,9 @@ impl Clone for IntoIter where T: Clone, { fn clone(&self) -> IntoIter { - self.v[self.index..] - .iter() - .cloned() - .collect::>() - .into_iter() + let mut v = ArrayVec::new(); + v.extend_from_slice(&self.v[self.index..]); + v.into_iter() } }