noop-allocator

Crates.ionoop-allocator
lib.rsnoop-allocator
version0.1.1
sourcesrc
created_at2024-05-30 06:47:22.49589
updated_at2024-09-16 20:57:38.732353
descriptionAn `Allocator` that does nothing.
homepage
repositoryhttps://github.com/zachs18/noop-allocator
max_upload_size
id1256588
size13,930
(zachs18)

documentation

README

noop_allocator

This crate provides an Allocator which does nothing: NoopAllocator<'_>.

Specifically:

  • [allocate] and [allocate_zeroed] will return Err for any non-zero-sized allocation requests
  • [deallocate] is a no-op, and does not require that ptr be "currently allocated", or fit layout.
  • [shrink], [grow], and [grow_zeroed] do not require that ptr be "currently allocated", or fit old_layout, and will successfully return the original pointer unchanged (with the length of the new layout) if the ptr 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][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.

Commit count: 2

cargo fmt