Skip to content

Implementation of Skip List for Rust

License

Notifications You must be signed in to change notification settings

jbayardo/rust-skiplist

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Skip List implementation for Rust. Currently under very active development; please do NOT use (this is not in crates.io for a reason!).

Code Status Build Status Windows Build Status

Test coverage

Percentage of issues still open Average time to resolve an issue

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)

Releases

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.

Reporting issues

Please report all issues on the Github issue tracker. Due dilligence is expected, and please include all relevant information.

Contributing

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.

License

See LICENSE.md.