Update Rust crate indexmap to v2.7.0 #101
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
1.9.3
->2.7.0
2
->2.7.0
Release Notes
indexmap-rs/indexmap (indexmap)
v2.7.0
Compare Source
Entry::insert_entry
andVacantEntry::insert_entry
, returningan
OccupiedEntry
after insertion.v2.6.0
Compare Source
Clone
formap::IntoIter
andset::IntoIter
.hashbrown
dependency to version 0.15.v2.5.0
Compare Source
insert_before
method toIndexMap
andIndexSet
, as analternative to
shift_insert
with different behavior on existing entries.first_entry
andlast_entry
methods toIndexMap
.From
implementations betweenIndexedEntry
andOccupiedEntry
.v2.4.0
Compare Source
IndexMap::append
andIndexSet::append
, moving all items fromone map or set into another, and leaving the original capacity for reuse.
v2.3.0
Compare Source
MutableEntryKey
for opt-in mutable access to map entry keys.MutableKeys::iter_mut2
for opt-in mutable iteration of mapkeys and values.
v2.2.6
Compare Source
MutableValues
for opt-in mutable access to set values.v2.2.5
Compare Source
borsh
serialization support.v2.2.4
Compare Source
insert_sorted
method onIndexMap
,IndexSet
, andVacantEntry
.serde
deserializers.v2.2.3
Compare Source
move_index
andswap_indices
methods toIndexedEntry
,OccupiedEntry
, andRawOccupiedEntryMut
, functioning like the existingmethods on
IndexMap
.shift_insert
methods onVacantEntry
andRawVacantEntryMut
, aswell as
shift_insert_hashed_nocheck
on the latter, to insert the new entryat a particular index.
shift_insert
methods onIndexMap
andIndexSet
to insert a newentry at a particular index, or else move an existing entry there.
v2.2.2
Compare Source
RawEntryBuilder::from_hash_full
,RawEntryBuilder::index_from_hash
, andRawEntryMut::index
.v2.2.1
Compare Source
RawOccupiedEntryMut::into_key(self) -> &'a mut K
,This a breaking change from 2.2.0, but that version was published for less
than a day and has now been yanked.
v2.2.0
Compare Source
The new
IndexMap::get_index_entry
method finds an entry by its index forin-place manipulation.
The
Keys
iterator now implementsIndex<usize>
for quick access to theentry's key, compared to indexing the map to get the value.
The new
IndexMap::splice
andIndexSet::splice
methods will drain thegiven range as an iterator, and then replace that range with entries from
an input iterator.
The new trait
RawEntryApiV1
offers opt-in access to a raw entry API forIndexMap
, corresponding to the unstable API onHashSet
as of Rust 1.75.Many
IndexMap
andIndexSet
methods have relaxed their type constraints,e.g. removing
K: Hash
on methods that don't actually need to hash.Removal methods
remove
,remove_entry
, andtake
are now deprecatedin favor of their
shift_
orswap_
prefixed variants, which are moreexplicit about their effect on the index and order of remaining items.
The deprecated methods will remain to guide drop-in replacements from
HashMap
andHashSet
toward the prefixed methods.v2.1.0
Compare Source
Empty slices can now be created with
map::Slice::{new, new_mut}
andset::Slice::new
. In addition,Slice::new
,len
, andis_empty
arenow
const
functions on both types.IndexMap
,IndexSet
, and their respectiveSlice
s all have binarysearch methods for sorted data: map
binary_search_keys
and setbinary_search
for plain comparison,binary_search_by
for customcomparators,
binary_search_by_key
for key extraction, andpartition_point
for boolean conditions.v2.0.2
Compare Source
hashbrown
dependency has been updated to version 0.14.1 tocomplete the support for Rust 1.63.
v2.0.1
Compare Source
hashbrown
's relaxed MSRV (or use cargo--ignore-rust-version
).v2.0.0
Compare Source
MSRV: Rust 1.64.0 or later is now required.
The
"std"
feature is no longer auto-detected. It is included in thedefault 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 returnsOption<(&K, &mut V)>
, changingthe key part from
&mut K
to&K
. There is also a new alternativeMutableKeys::get_index_mut2
to access the former behavior.The new
map::Slice<K, V>
andset::Slice<T>
offer a linear view of mapsand sets, behaving a lot like normal
[(K, V)]
and[T]
slices. Notably,comparison traits like
Eq
only consider items in order, rather than hashlookups, and slices even implement
Hash
.IndexMap
andIndexSet
now havesort_by_cached_key
andpar_sort_by_cached_key
methods which perform stable sorts in placeusing a key extraction function.
IndexMap
andIndexSet
now havereserve_exact
,try_reserve
, andtry_reserve_exact
methods that correspond to the same methods onVec
.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.
The
Equivalent
trait is now re-exported from theequivalent
crate,intended as a common base to allow types to work with multiple map types.
The
hashbrown
dependency has been updated to version 0.14.The
serde_seq
module has been moved from the crate root to below themap
module.Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.