Skip List implementation for Rust. Currently under very active development; please do NOT use (this is not in crates.io for a reason!).
Missing work:
- Mutable range iterators (easy)
- Tests for all iterators (easy)
- More testing would do great. Node is an easy example. The linked list needs more tests too
- Testing for memory leaks would be good too.
- You can try compiling on stable and testing what needs to be done to make it compatible
- It would be good to add some statistical testing to the HeighControl to ensure output is distributed as expected
- This can be turned into a lock-free dictionary, just need proper atomics support and some work (hard)
Library releases follow semantic versioning. Versioned releases can be found in Github's release manager.
Notice that this project requires Rust nightly to work. This is due to unavailable primitives in stable and beta channels; work is underway to make it compatible with beta and stable channels, but may take a while.
Please report all issues on the Github issue tracker. Due dilligence is expected, and please include all relevant information.
All code contributed must pass through Clippy and Format, and no code will be merged unless it is thoroughly tested. Please look at the Rust Book if you are not sure how to do this.
Changes for performance improvement must include benchmark results to back the claim. New dependencies are to be avoided; this library is expected to be as dependency-free as possible.
See LICENSE.md.