From ef133ef96074ee65c11721999ebd4d930e39bf8e Mon Sep 17 00:00:00 2001 From: bluss Date: Sun, 3 Dec 2017 21:56:39 +0100 Subject: [PATCH] FIX: Use drop_in_place in IntoIter's drop. --- src/lib.rs | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index f9efe3b..d7158f2 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -739,11 +739,10 @@ impl Drop for IntoIter { let len = self.v.len(); unsafe { self.v.set_len(0); - let elements = slice::from_raw_parts(self.v.get_unchecked_mut(index), - len - index); - for elt in elements { - ptr::read(elt); - } + let elements = slice::from_raw_parts_mut( + self.v.get_unchecked_mut(index), + len - index); + ptr::drop_in_place(elements); } } }