NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #4722 most downloaded on crates.io
Weak hash maps and sets
Last release 2 months ago
04 Aug 2026
Release timing varies
gaps range from 9 days to 4.6 years
Nearly every release is documented
notes for 12 of 13 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
16 releases · first in 2018
There are breaking changes in this release, but they should not affect most users. Notably, the alloc feature has been removed, the ahash feature has…
This release improves performance and correctness
by replacing the backend with [hashbrown].
It also adds numerous APIs, and extensive tests.
There are breaking changes in this release,
but they should not affect most users.
Notably, the alloc feature has been removed,
the ahash feature has been deprecated,
and the minimum supported rust version for this crate
has been increased to 1.65.
See below for more details.
High-coverage unit tests for the hash table backend.
High-coverage unit tests for all maps and sets.
Property tests for all of the exposed map and set types.
Benchmarks based on criterion.
Added APIs to map types to match with stdlib HashMap:
extract_ifget_disjoint_mut, get_both_disjoint_mutinto_keysinto_valuesremove_entryshrink_totry_reserveFrom<[(K, V); N]>Entry::and_modifyEntry::insert_entryEntry::or_insert_with_keyVacantEntry::insert_entry.Added APIs to set types to match with stdlib HashSet:
differenceextract_ifintersectionis_disjointis_supersetshrink_tosymmetric_differencetaketry_reserveunionBitAndBitOrBitXorFrom<[T;N]>SubIt is now possible to build as no_std without ahash support.
If you do, there will be no default BuildHasher,
and the new() and with_capacity() methods will be absent.
alloc feature has been removed.ahash feature is now deprecated for security reasons.
Instead, use the constructors that allow you to specify
a BuildHasher manually.hashbrown]
for improved speed and correctness.
(Benchmarks report a speedup around 30-50%.)hashbrown version 0.16.)load_factor() to return a value closer to the table's
actual load factor.#[must_use].#[must_use].Debug output is slightly different.cargo fmt.Debug is now slightly different.hashbrown internals, capacity calculations can behave
differently.tests submodule, so that they can
share code.ahash is enabled, we now use ahash version 0.8.12 or later.rand dev-dependency has been removed.retain() and remove_expired() methods no longer
skip elements that changed position due to other elements having been
removed. ([github#22])load_factor() calculation where it would return
inf for a zero-capacity table.WeakHashSet and PtrWeakHashSet
to display them as sets, not as maps to ().One column per quarter.
Release version 0.4.0-pre3
Release version 0.4.0-pre3
Nothing published for this version
Nothing published for this version
listed asymptotic time complexities for each operation
no_std compatibility (h/t @tsao-chi)
no_std compatibility (h/t @tsao-chi)(cargo-release) version 0.3.0
(cargo-release) version 0.3.0
(cargo-release) version 0.2.4
(cargo-release) version 0.2.4
<dersaidin@dersaidin.net>).(cargo-release) version 0.2.3
(cargo-release) version 0.2.3
(cargo-release) version 0.2.2
(cargo-release) version 0.2.2
{PtrWeakHashSet,PtrWeakKeyHashMap}::is_empty() methods.a test that was breaking on an older rustc
rustcfrom WeakElement::expired to WeakElement::is_expired
WeakElement::expired to WeakElement::is_expired### Testing - added a test ### Documention - minimum supported rustc
rustcWeakKeyHashMap::{get_key, get_both, get_both_mut} methods
WeakKeyHashMap::{get_key, get_both, get_both_mut} methodsWeakWeakHashMap::{get_key, get_both} methodsWeakHashSet::get methodRcs can now be ?Sized.struct RcKey<K>[Next Release]: [0.4.0]: [0.3.2]: [0.3.1]: [0.2.4]: [0.2.3]: [0.2.2]: [0.2.1]: [0.2.0]: [0.1.3]: [0.1.2]: [0.1.1]: [weak-table]: [hashbrown]: [github#
Initial release.
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →