2 releases
0.1.1 | Sep 16, 2024 |
---|---|
0.1.0 | May 30, 2024 |
#389 in Memory management
65 downloads per month
14KB
155 lines
noop_allocator
This crate provides an Allocator
which does nothing: NoopAllocator<'_>
.
Specifically:
allocate
andallocate_zeroed
will returnErr
for any non-zero-sized allocation requestsdeallocate
is a no-op, and does not require thatptr
be "currently allocated", or fitlayout
.shrink
,grow
, andgrow_zeroed
do not require thatptr
be "currently allocated", or fitold_layout
, and will successfully return the original pointer unchanged (with the length of the new layout) if theptr
is 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
or 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.