#![deny(unsafe_op_in_unsafe_fn)] #![allow(clippy::needless_doctest_main, clippy::partialeq_ne_impl)] #[cfg(feature = "alloc")] pub use self::slice::SliceExt; pub mod alloc; #[cfg(feature = "alloc")] pub mod boxed; #[cfg(feature = "alloc")] mod raw_vec; #[cfg(feature = "alloc")] pub mod vec; #[cfg(feature = "alloc")] mod macros; #[cfg(feature = "alloc")] mod slice; #[cfg(feature = "alloc")] #[track_caller] #[inline(always)] #[cfg(debug_assertions)] unsafe fn assume(v: bool) { if !v { core::unreachable!() } } #[cfg(feature = "alloc")] #[track_caller] #[inline(always)] #[cfg(not(debug_assertions))] unsafe fn assume(v: bool) { if !v { unsafe { core::hint::unreachable_unchecked(); } } } #[cfg(feature = "alloc")] #[inline(always)] fn addr(x: *const T) -> usize { #[allow(clippy::useless_transmute, clippy::transmutes_expressible_as_ptr_casts)] unsafe { core::mem::transmute(x) } } #[cfg(feature = "alloc")] #[inline(always)] fn invalid_mut(addr: usize) -> *mut T { #[allow(clippy::useless_transmute, clippy::transmutes_expressible_as_ptr_casts)] unsafe { core::mem::transmute(addr) } }