Thank you for your interest in contributing! Whether it's a bug report, new feature, performance optimization, correction, or additional documentation, your feedback and contributions are valuable.
Please read through this document before submitting pull requests to ensure an effective response to your contribution.
-
The APIs this project strives to be compatible with:
BTreeMap
,BTreeSet
. -
"Safe && Portable Data Structure Design" (video).
- 10 minute (lightning talk) overview of this library's design.
-
"Beyond the Borrow Checker: Differential Fuzzing".
- Blog post explaining how and why this project uses fuzz testing.
Questions are welcome, feel free to open an issue or use the discussion board.
This project offers a Dockerfile for your convenience, but it's use is entirely optional.
Contributions via pull requests are much appreciated. Before submitting a pull request, please ensure that:
- You are working against the latest source on the
master
branch. - You check existing open, and recently merged, pull requests to make sure someone else hasn't addressed the problem already.
- You open an issue to discuss any significant work - we would hate for your time to be wasted.
To submit a pull request, please:
- Fork the repository.
- Modify the source; please focus on the specific change you are contributing.
- Ensure local tests pass (
cargo test
), including any you may have added. - Ensure you've run
cargo fmt
(default settings). - Ensure you've run
cargo clippy
and addressed all warnings emitted. - Commit to your fork using clear commit messages.
- Submit the pull request.
- Pay attention to any automated CI failures reported in the pull request, and stay involved in the conversation.
GitHub provides additional document on forking a repository and creating a pull request.
Looking at currently open issues is a great way to find something to work on. However, you're free to suggest your own features and ideas - we'd love to discuss them!
See the LICENSE file for this project's licensing. All contributions to this project will, by default, use this license.