From 86adf8ac890273b00496f36ad0b1100120d526d8 Mon Sep 17 00:00:00 2001 From: Lzu Tao Date: Sat, 26 Oct 2019 02:28:09 +0700 Subject: [PATCH] review comments on vec-raw --- src/vec-raw.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/vec-raw.md b/src/vec-raw.md index 897d6cc..94410d1 100644 --- a/src/vec-raw.md +++ b/src/vec-raw.md @@ -58,7 +58,14 @@ impl Drop for RawVec { fn drop(&mut self) { if self.cap != 0 { unsafe { - alloc::dealloc(self.ptr.as_ptr() as *mut u8, alloc::Layout::new::()); + let align = mem::align_of::(); + let elem_size = mem::size_of::(); + let num_bytes = elem_size * self.cap; + + alloc::dealloc( + self.buf.as_ptr() as *mut u8, + alloc::Layout::from_size_align_unchecked(num_bytes, align), + ); } } }