Use a single ptr::drop_in_place call instead of a loop

This is what the standard Vec does; see rust-lang/rust#32012.
This commit is contained in:
Matt Brubeck
2018-06-06 09:31:40 -07:00
parent 3d23bf6bd6
commit a98d232204
+1 -4
View File
@@ -1186,10 +1186,7 @@ impl<A: Array> Drop for SmallVec<A> {
let (ptr, len) = self.data.heap();
Vec::from_raw_parts(ptr, len, self.capacity);
} else {
let ptr = self.as_mut_ptr();
for i in 0..self.len() {
ptr::drop_in_place(ptr.offset(i as isize));
}
ptr::drop_in_place(&mut self[..]);
}
}
}