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.
At your option: Apache-2.0 or MIT