intern-arc 0.5.0

An interner that deallocates unused values
Documentation

Interning library based on atomic reference counting

For the docs see docs.rs.

When developing please make use of cargo bench and cargo +nightly miri — the multithreading tests are sized such that they bring issues to the surface when run with miri (which is rather slow). Once you notice problems, debugging is easier with

export MIRIFLAGS=-Zmiri-disable-isolation
cargo +nightly miri test --features println -- --nocapture multithreading_hash

Another very useful tool is loom, run it with

LOOM_LOG=1 LOOM_LOCATION=1 LOOM_CHECKPOINT_INTERVAL=1 RUST_BACKTRACE=1 RUSTFLAGS="--cfg loom" cargo test --lib

Note: loom currently does not work because it doesn’t support Weak references.

License

At your option: Apache-2.0 or MIT