https://github.com/jbayardo/rust-skiplist
Implementation of Skip List for Rust
https://github.com/jbayardo/rust-skiplist
data-structures rust rust-crate rust-lang rust-language rust-library skiplist
Last synced: 7 months ago
JSON representation
Implementation of Skip List for Rust
- Host: GitHub
- URL: https://github.com/jbayardo/rust-skiplist
- Owner: jbayardo
- License: mit
- Created: 2017-07-17T08:06:24.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2019-03-26T07:43:00.000Z (over 6 years ago)
- Last Synced: 2025-03-24T02:05:32.197Z (7 months ago)
- Topics: data-structures, rust, rust-crate, rust-lang, rust-language, rust-library, skiplist
- Language: Rust
- Size: 61.5 KB
- Stars: 5
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
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 [](https://travis-ci.org/jbayardo/rust-skiplist) [](https://ci.appveyor.com/project/jbayardo/rust-skiplist)
[](https://codecov.io/gh/jbayardo/rust-skiplist)
[](http://isitmaintained.com/project/jbayardo/rust-skiplist "Percentage of issues still open") [](http://isitmaintained.com/project/jbayardo/rust-skiplist "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](http://semver.org/). Versioned releases can be found in Github's [release manager](https://github.com/jbayardo/rust-skiplist/releases).
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](https://github.com/jbayardo/rust-skiplist/issues). [Due dilligence](https://contribution-guide-org.readthedocs.io/#due-diligence) is expected, and please include [all relevant information](https://contribution-guide-org.readthedocs.io/#what-to-put-in-your-bug-report).
# Contributing
All code contributed must pass through [Clippy](https://github.com/rust-lang-nursery/rust-clippy) and [Format](https://github.com/rust-lang-nursery/rustfmt), and no code will be merged unless it is thoroughly tested. Please look at the [Rust Book](https://doc.rust-lang.org/book/second-edition/ch11-03-test-organization.html) 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](https://github.com/jbayardo/rust-skiplist/blob/master/LICENSE).