about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/liballoc/vec.rs4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/liballoc/vec.rs b/src/liballoc/vec.rs
index 158331af2ae..64e84063b7a 100644
--- a/src/liballoc/vec.rs
+++ b/src/liballoc/vec.rs
@@ -2692,7 +2692,9 @@ impl<'a, T, F> Iterator for DrainFilter<'a, T, F>
                     return Some(ptr::read(&v[i]));
                 } else if self.del > 0 {
                     let del = self.del;
-                    ptr::copy_nonoverlapping(self.vec.as_ptr().offset(i), self.vec.as_mut_ptr().offset(i - del), 1);
+                    let src = self.vec.as_ptr().offset(i);
+                    let dst = self.vec.as_mut_ptr().offset(i - del);
+                    ptr::copy_nonoverlapping(src, dst, 1);
                 }
             }
             None