|0.2.2||Jul 16, 2019|
|0.2.1||Jul 5, 2019|
|0.2.0||Jul 5, 2019|
|0.1.0||Jun 13, 2019|
#117 in Memory management
44 downloads per month
Used in 2 crates
A unified abstract interface for concurrent memory reclamation that leverages Rust's type system in order to expose a public API that is largely safe.
Add the following to your
[dependencies] reclaim = "0.2.0"
The minimum supported rust version for this crate is 1.36.0.
This crate is
alloc compatible. The
std feature (enabled by
default) must be disabled when this crate is intended for use in a
The following list contains the currently available reclamation scheme implementations based on this crate's API and interface:
The ultimate goal of this crate is to allow fully generic memory reclamation
based only on the traits
This will allow writers of lock-free data structures to parametrize their code
over the reclamation scheme they use, making it easily exchangeable.
This is currently not possible due to the lack of GAT (generic associated
const generics are currently not available in stable Rust, the
crate's type safe pointer tagging mechanism has to rely on the
This is also bound change in the future.
In some cases, the implementation for
Record has to rely on the
crate and its
offset_of! macro, which exhibits UB.
Once a fully sound alternative becomes available, it will be adapted.
Note, that the macro is only used for record types with an non-zero size header.
Reclaim is distributed under the terms of both the MIT license and the Apache License (Version 2.0).