#![cfg_attr(not(any(test, feature = "std")), no_std)]
#![cfg_attr(all(feature = "nightly", feature = "alloc"), feature(new_uninit))]
#[cfg(all(unix, windows))]
compile_error!("cannot compile for both windows and unix");
#[cfg(feature = "alloc")]
extern crate alloc;
mod iovec;
pub use iovec::*;
#[inline]
unsafe fn cast_slice_same_layout<A, B>(a: &[A]) -> &[B] {
core::slice::from_raw_parts(a.as_ptr() as *const B, a.len())
}
#[inline]
unsafe fn cast_slice_same_layout_mut<A, B>(a: &mut [A]) -> &mut [B] {
core::slice::from_raw_parts_mut(a.as_mut_ptr() as *mut B, a.len())
}