-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Clean up various iterator types **Description** - Add a default PREFIX_LEN to all iterator types with a value of 16 - Remove most instances of `*Keys`, `*Values`, `*ValuesMut` iterators - Rename the tree iterators to match the `std::collection::BTreeMap` ones - Add `#[non_exhaustive]` to the well-formed visitor error type **Motivation** - Adding a default `PREFIX_LEN` biases towards making it easy to provide a type for the iterators in the common case, without the user ever needing to learn about the prefix or what the default length is. - I don't really like all the extra iterators, and I'm only keeping the remaining ones because `BTreeMap` has them - I also wanted to match the tree iterators names to have the same as in the stdlib, making it easier to drop-in replace using this crate - Adding `#[non_exhaustive]` makes future additions to the enum non-breaking changes **Testing Done** `./scripts/full-test.sh nightly` * Ensure all iterators and map-related types are Send/Sync **Description** Add tests and unsafe impls to ensure that the `TreeMap` and related types are `Send` and `Sync`. **Motivation** This is needed to match the interface of the `BTreeMap` and to make sure we don't regress on this behavior between releases. The `unsafe impl`s are not my favorite way to implement this, I would have preferred that the building block types were naturally `Send` or `Sync`, that wasn't easily done. Maybe a future improvement to remove those. **Testing Done** `./scripts/full-test.sh nightly` * Fix formatting for new nightly * Update CHANGELOG * Fix release configuration
- Loading branch information
Showing
15 changed files
with
621 additions
and
172 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.