heap::deallocate expects a *mut u8 but here a *mut T is given. The final code is correct, the example here would not compile without the cast. I used *mut _ instead of *mut u8 to be consistent with the final code.

pull/10/head
jonastepe 9 years ago committed by Manish Goregaokar
parent ae44e86c13
commit 5060b9c061

@ -21,7 +21,7 @@ impl<T> Drop for Vec<T> {
let elem_size = mem::size_of::<T>(); let elem_size = mem::size_of::<T>();
let num_bytes = elem_size * self.cap; let num_bytes = elem_size * self.cap;
unsafe { unsafe {
heap::deallocate(*self.ptr, num_bytes, align); heap::deallocate(*self.ptr as *mut _, num_bytes, align);
} }
} }
} }

Loading…
Cancel
Save