Loom is a model checker for concurrent Rust code. It exhaustively explores the behaviors of code under the C11 memory model, which Rust inherits.
To use loom
, first add this to your Cargo.toml
:
[dev-dependencies]
loom = "0.1.1"
Next, create a test file.
Loom is an implementation of techniques described in CDSChecker: Checking Concurrent Data Structures Written with C/C++ Atomics.
While already very useful, loom is in its early stages and has a number of limitations.
- Execution is slow (#5).
- The full C11 memory model is not implemented (#6).
- No fence support (#7).
- No bounding support (#8).
This project is licensed under the MIT license.
Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in loom
by you, shall be licensed as MIT, without any additional
terms or conditions.