]> git.lizzy.rs Git - rust.git/commitdiff
Remove unneeded copy
authorJacob Kiesel <kieseljake@gmail.com>
Tue, 5 Sep 2017 21:32:02 +0000 (15:32 -0600)
committerGitHub <noreply@github.com>
Tue, 5 Sep 2017 21:32:02 +0000 (15:32 -0600)
src/liballoc/vec.rs

index 8141851b8c9af9cbd22567a94cc40309a55bccfd..158331af2aeeda52b189daf3ec1572f3812432bf 100644 (file)
@@ -2691,7 +2691,8 @@ fn next(&mut self) -> Option<T> {
                     self.del += 1;
                     return Some(ptr::read(&v[i]));
                 } else if self.del > 0 {
-                    v.swap(i - self.del, i);
+                    let del = self.del;
+                    ptr::copy_nonoverlapping(self.vec.as_ptr().offset(i), self.vec.as_mut_ptr().offset(i - del), 1);
                 }
             }
             None