ialloc

Crates.ioialloc
lib.rsialloc
version0.0.0-2023-05-28
sourcesrc
created_at2023-05-03 13:51:35.937368
updated_at2024-01-26 10:28:00.104025
descriptionAllocator interface traits
homepage
repositoryhttps://github.com/MaulingMonkey/ialloc
max_upload_size
id855474
size547,249
(MaulingMonkey)

documentation

https://docs.rs/ialloc

README

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.

Commit count: 301

cargo fmt