FIX: Use drop_in_place in IntoIter's drop.
This commit is contained in:
+3
-4
@@ -739,11 +739,10 @@ impl<A: Array> Drop for IntoIter<A> {
|
|||||||
let len = self.v.len();
|
let len = self.v.len();
|
||||||
unsafe {
|
unsafe {
|
||||||
self.v.set_len(0);
|
self.v.set_len(0);
|
||||||
let elements = slice::from_raw_parts(self.v.get_unchecked_mut(index),
|
let elements = slice::from_raw_parts_mut(
|
||||||
|
self.v.get_unchecked_mut(index),
|
||||||
len - index);
|
len - index);
|
||||||
for elt in elements {
|
ptr::drop_in_place(elements);
|
||||||
ptr::read(elt);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user