Empty slices can now be created with map::Slice::{new, new_mut} and
set::Slice::new. In addition, Slice::new, len, and is_empty are
now const functions on both types.
IndexMap, IndexSet, and their respective Slices all have binary
search methods for sorted data: map binary_search_keys and set
binary_search for plain comparision, binary_search_by for custom
comparators, binary_search_by_key for key extraction, and
partition_point for boolean conditions.
2.0.2
The hashbrown dependency has been updated to version 0.14.1 to
complete the support for Rust 1.63.
2.0.1
MSRV: Rust 1.63.0 is now supported as well, pending publication of
hashbrown's relaxed MSRV (or use cargo --ignore-rust-version).
2.0.0
MSRV: Rust 1.64.0 or later is now required.
The "std" feature is no longer auto-detected. It is included in the
default feature set, or else can be enabled like any other Cargo feature.
The "serde-1" feature has been removed, leaving just the optional
"serde" dependency to be enabled like a feature itself.
IndexMap::get_index_mut now returns Option<(&K, &mut V)>, changing
the key part from &mut K to &K. There is also a new alternative
MutableKeys::get_index_mut2 to access the former behavior.
The new map::Slice<K, V> and set::Slice<T> offer a linear view of maps
and sets, behaving a lot like normal [(K, V)] and [T] slices. Notably,
comparison traits like Eq only consider items in order, rather than hash
lookups, and slices even implement Hash.
IndexMap and IndexSet now have sort_by_cached_key and
par_sort_by_cached_key methods which perform stable sorts in place
using a key extraction function.
IndexMap and IndexSet now have reserve_exact, try_reserve, and
try_reserve_exact methods that correspond to the same methods on Vec.
However, exactness only applies to the direct capacity for items, while the
raw hash table still follows its own rules for capacity and load factor.
... (truncated)
Commits
ff49792 Merge pull request #283 from cuviper/release-2.1.0
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Updates the requirements on indexmap to permit the latest version.
Changelog
Sourced from indexmap's changelog.
... (truncated)
Commits
ff49792
Merge pull request #283 from cuviper/release-2.1.0f1ea007
Release 2.1.0cd641d2
Merge pull request #282 from Eh2406/binary_search7326a6e
Re-wrap the binary search docseec4c43
Add plain binary search to maps and sets too1350db6
Capitalize "see" in binary search docs3263c0f
fix wording0d5ee80
Merge pull request #278 from cuviper/slice-newd93534f
add tests348b42f
add binary_search and friendsDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show