Name Description Size
lib.rs # Safety Most of the functions in this module are `unsafe fn`s, meaning that their behavior may be undefined if certain assumptions are broken by the caller. In most cases, documentation in this module refers to the safety assumptions of standard library functions. In most cases, pointers must be either `NULL` or satisfy the requirements of `&*ptr` or `&mut *ptr`. This requirement maps to the requirements of [`pointer::as_ref`] and [`pointer::as_mut`] for immutable and mutable pointers respectively. For pointer and length pairs, describing some sequence of elements in memory, the requirements of [`core::slice::from_raw_parts`] or [`core::slice::from_raw_parts_mut`] apply. In some cases, the element type `T` is converted into `MaybeUninit<T>`, meaning that while the slice must be valid, the elements in the slice can be uninitialized. Using uninitialized buffers for output is more performant. Finally, some functions accept a string argument, which must either be `NULL` or satisfy the requirements of [`core::ffi::CStr::from_ptr`]. [`pointer::as_ref`]: https://doc.rust-lang.org/core/primitive.pointer.html#method.as_ref [`pointer::as_mut`]: https://doc.rust-lang.org/core/primitive.pointer.html#method.as_mut 61557