bevy/crates/bevy_utils
SpecificProtagonist 8faaef17e5
Hash stability guarantees (#11690)
# Objective

We currently over/underpromise hash stability:
- `HashMap`/`HashSet` use `BuildHasherDefault<AHasher>` instead of
`RandomState`. As a result, the hash is stable within the same run.
- [aHash isn't stable between devices (and
versions)](https://github.com/tkaitchuck/ahash?tab=readme-ov-file#goals-and-non-goals),
yet it's used for `StableHashMap`/`StableHashSet`
- the specialized hashmaps are stable

Interestingly, `StableHashMap`/`StableHashSet` aren't used by Bevy
itself (anymore).

## Solution
Add/fix documentation

## Alternatives
For `StableHashMap`/`StableHashSet`:
- remove them
- revive #7107

---

## Changelog
- added iteration stability guarantees for different hashmaps
2024-02-05 17:05:15 +00:00
..
macros Inverse missing_docs logic (#11676) 2024-02-03 21:40:55 +00:00
src Hash stability guarantees (#11690) 2024-02-05 17:05:15 +00:00
Cargo.toml Add static assertions to bevy_utils for compile-time checks (#11182) 2024-01-02 22:08:30 +00:00
Readme.md add and fix shields in Readmes (#9993) 2023-10-15 00:52:31 +00:00

Bevy Utils

License Crates.io Downloads Docs Discord

A Collection of Utilities for the Bevy Engine.