noop_allocator
This crate provides an Allocator which does nothing: NoopAllocator<'_>.
Specifically:
- [
allocate] and [allocate_zeroed] will returnErrfor any non-zero-sized allocation requests - [
deallocate] is a no-op, and does not require thatptrbe "currently allocated", or fitlayout. - [
shrink], [grow], and [grow_zeroed] do not require thatptrbe "currently allocated", or fitold_layout, and will successfully return the original pointer unchanged (with the length of the new layout) if theptris aligned for the new layout and the new layout is smaller or the same size as the old layout.
This type is usable as an [Allocator] when you want to borrow an existing
memory range for use in a collection type, for example in
[Box][alloc::boxed::Box] or [Vec][alloc::vec::Vec].
Safety:
Many functions in this crate assume that impl Allocator for NoopAllocator<'_> as described above is sound, but feature(allocator_api)
is unstable and the preconditions may change.