Skip to content

MaulingMonkey/ialloc

Repository files navigation

ialloc

Allocator interface traits for Rust

GitHub crates.io docs.rs unsafe: very License Build Status

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.

About

Allocator interface traits for Rust

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Languages