Skip to content

zachs18/noop-allocator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages