#[inline]
fn ptr_to_allocated(slab: &mut AllocSlab) -> Self::PtrToAllocated {
- TypedArenaPtr::new(unsafe { mem::transmute(slab.header) })
+ TypedArenaPtr::new(ptr::addr_of_mut!(slab.header) as *mut _)
}
#[inline]
let mut slab = Box::new(AllocSlab {
next: arena.base.take(),
#[cfg(target_pointer_width = "32")]
- padding: 0,
+ _padding: 0,
header: unsafe { mem::transmute(value) },
});
macro_rules! drop_typed_slab_in_place {
($payload: ty, $value: expr) => {
let slab: &mut TypedAllocSlab<$payload> = mem::transmute($value);
- ptr::drop_in_place(ptr::addr_of_mut!(slab.payload));
+ ptr::drop_in_place(&mut slab.payload);
};
}