use core::mem; #[inline] pub fn zst(len: usize) -> bool { mem::size_of::() == 0 || len == 0 } #[inline] pub fn check_ptr(p: *const T, len: usize) { debug_assert!((p as usize) % mem::align_of::() == 0, "unaligned ptr"); assert!(zst::(len) || !p.is_null(), "NULL ptr"); } #[inline] pub fn must_succeed(p: *mut T) -> *mut T { assert!(!p.is_null(), "allocation failure"); p }