fixed_free_list
A fixed-size free-list with optional key lifetime safety and macroless unique typing. Please consult the documentation for more information.
The minimum required Rust version for fixed_free_list
is 1.63.0. To start using
fixed_free_list
add the following to your Cargo.toml
:
[]
= "0.2"
For additional performance, enable unstable
feature on nightly with
[]
= { = "0.2", = ["unstable"] }
For additional development-time memory safety verification at the cost of performance, enable strict
feature with
[]
= { = "0.2", = ["strict"] }
Example
A short example:
use FixedFreeList;
let mut list: = new;
let key = list.alloc.unwrap;
assert_eq!;
let value = unsafe ;
*value = 2;
assert_eq!;
Safety
This crate uses unsafe code for performance. It has been extensively fuzz tested with miri to ensure it behaves correctly.
License
fixed_free_list
is dual-licensed under either:
- MIT License (LICENSE-MIT or http://opensource.org/licenses/MIT)
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
at your option.
Your contributions
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.