ialloc
Allocator interface traits for Rust
Raison d'être
- Why not
core::alloc::Allocator
/ allocator_api
?
- 7+ years unstabilized and counting.
- I want container allocations this decade, thanks!
- We can aim to be compatible and interopable with it, if/when it stabilizes, or via separate nightly crates.
- Why not
core::alloc::GlobalAlloc
?
- Win32
FreeSid
has no equivalent arbitrary allocation function to implement
GlobalAlloc::alloc
with.
-
bgfx::alloc
has no equivalent arbitrary free function to implement
GlobalAlloc::dealloc
with.
- Split alloc/free/realloc traits will help avoid bugs and misuse!
- That said, we can aim to be compatible and interopable with it.
- Rust-style traits are annoying to adapt to C-style allocators. This provides more C-friendly traits as options.
Out of scope
- NUMA? Although ask again later.
- Physical GPU memory allocation, probably. Might warrant a related crate?
- ID/handle allocation, perhaps. Might warrant a related crate?
License
Licensed under either of
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in the work by you, as defined in the Apache-2.0 license, shall be
dual licensed as above, without any additional terms or conditions.