Skip to content

Update hashbrown requirement from 0.14.2 to 0.15.0#15696

Closed
dependabot[bot] wants to merge 1 commit intomainfrom
dependabot/cargo/hashbrown-0.15.0
Closed

Update hashbrown requirement from 0.14.2 to 0.15.0#15696
dependabot[bot] wants to merge 1 commit intomainfrom
dependabot/cargo/hashbrown-0.15.0

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot bot commented on behalf of github Oct 7, 2024

Updates the requirements on hashbrown to permit the latest version.

Changelog

Sourced from hashbrown's changelog.

[v0.15.0] - 2024-10-01

This update contains breaking changes that remove the raw API with the hope of centralising on the HashTable API in the future. You can follow the discussion and progress in #545 to discuss features you think should be added to this API that were previously only possible on the raw API.

Added

  • Added borsh feature with BorshSerialize and BorshDeserialize impls. (#525)
  • Added Assign impls for HashSet operators. (#529)
  • Added Default impls for iterator types. (#542)
  • Added HashTable::iter_hash{,_mut} methods. (#549)
  • Added Hash{Table,Map,Set}::allocation_size methods. (#553)
  • Implemented Debug and FusedIterator for all HashTable iterators. (#561)
  • Specialized Iterator::fold for all HashTable iterators. (#561)

Changed

  • Changed hash_set::VacantEntry::insert to return OccupiedEntry. (#495)
  • Improvedhash_set::Difference::size_hint lower-bound. (#530)
  • Improved HashSet::is_disjoint performance. (#531)
  • equivalent feature is now enabled by default. (#532)
  • HashSet operators now return a set with the same allocator. (#529)
  • Changed the default hasher to foldhash. (#563)
  • ahash feature has been renamed to default-hasher. (#533)
  • Entry API has been reworked and several methods have been renamed. (#535)
  • Hash{Map,Set}::insert_unique_unchecked is now unsafe. (#556)
  • The signature of get_many_mut and related methods was changed. (#562)

Fixed

  • Fixed typos, stray backticks in docs. (#558, #560)

Removed

  • Raw entry API is now under raw-entry feature, to be eventually removed. (#534, #555)
  • Raw table API has been made private and the raw feature is removed; in the future, all code should be using the HashTable API instead. (#531, #546)
  • rykv feature was removed; this is now provided by the rykv crate instead. (#554)
  • HashSet::get_or_insert_owned was removed in favor of get_or_insert_with. (#555)

[v0.14.5] - 2024-04-28

Fixed

  • Fixed index calculation in panic guard of clone_from_impl. (#511)

[v0.14.4] - 2024-03-19

... (truncated)

Commits
  • e057e87 Auto merge of #551 - clarfonthey:rel-v0.15, r=Amanieu
  • 9da6b46 Update changelog with the newest changes
  • cd623c4 Auto merge of #563 - Amanieu:foldhash, r=Amanieu
  • 7762511 Change the default hasher to foldhash
  • edd22e1 Auto merge of #562 - Urgau:new-get-many-mut, r=Amanieu
  • d50e3b2 Change signature of get_many_mut APIs
  • c094791 Update changelog for v0.15.0, bump Cargo.toml, fix README
  • 7cf51ea Auto merge of #561 - Amanieu:debug-iter, r=cuviper
  • 7af86ab Implement Debug, FusedIterator and Iterator::fold for all HashTable i...
  • a25cd3b Auto merge of #556 - Amanieu:api-changes, r=cuviper
  • Additional commits viewable in compare view

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 <dependency name> 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 [hashbrown](https://github.com/rust-lang/hashbrown) to permit the latest version.
- [Changelog](https://github.com/rust-lang/hashbrown/blob/master/CHANGELOG.md)
- [Commits](rust-lang/hashbrown@v0.14.2...v0.15.0)

---
updated-dependencies:
- dependency-name: hashbrown
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added the C-Dependencies A change to the crates that Bevy depends on label Oct 7, 2024
@clarfonthey
Copy link
Copy Markdown
Contributor

From hashbrown changelog:

  • ahash feature has been renamed to default-hasher.

Which is the source of the error. In case anyone wants to make a proper PR for this.

@mnmaita
Copy link
Copy Markdown
Member

mnmaita commented Oct 10, 2024

Superseded by #15801

@mnmaita mnmaita closed this Oct 10, 2024
@dependabot @github
Copy link
Copy Markdown
Contributor Author

dependabot bot commented on behalf of github Oct 10, 2024

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dependabot dependabot bot deleted the dependabot/cargo/hashbrown-0.15.0 branch October 10, 2024 11:44
github-merge-queue bot pushed a commit that referenced this pull request Dec 10, 2024
Updating dependencies; adopted version of #15696. (Supercedes #15696.)

Long answer: hashbrown is no longer using ahash by default, meaning that
we can't use the default-hasher methods with ahasher. So, we have to use
the longer-winded versions instead. This takes the opportunity to also
switch our default hasher as well, but without actually enabling the
default-hasher feature for hashbrown, meaning that we'll be able to
change our hasher more easily at the cost of all of these method calls
being obnoxious forever.

One large change from 0.15 is that `insert_unique_unchecked` is now
`unsafe`, and for cases where unsafe code was denied at the crate level,
I replaced it with `insert`.

## Migration Guide

`bevy_utils` has updated its version of `hashbrown` to 0.15 and now
defaults to `foldhash` instead of `ahash`. This means that if you've
hard-coded your hasher to `bevy_utils::AHasher` or separately used the
`ahash` crate in your code, you may need to switch to `foldhash` to
ensure that everything works like it does in Bevy.
BD103 pushed a commit to BD103/bevy that referenced this pull request Dec 10, 2024
Updating dependencies; adopted version of bevyengine#15696. (Supercedes bevyengine#15696.)

Long answer: hashbrown is no longer using ahash by default, meaning that
we can't use the default-hasher methods with ahasher. So, we have to use
the longer-winded versions instead. This takes the opportunity to also
switch our default hasher as well, but without actually enabling the
default-hasher feature for hashbrown, meaning that we'll be able to
change our hasher more easily at the cost of all of these method calls
being obnoxious forever.

One large change from 0.15 is that `insert_unique_unchecked` is now
`unsafe`, and for cases where unsafe code was denied at the crate level,
I replaced it with `insert`.

## Migration Guide

`bevy_utils` has updated its version of `hashbrown` to 0.15 and now
defaults to `foldhash` instead of `ahash`. This means that if you've
hard-coded your hasher to `bevy_utils::AHasher` or separately used the
`ahash` crate in your code, you may need to switch to `foldhash` to
ensure that everything works like it does in Bevy.
ecoskey pushed a commit to ecoskey/bevy that referenced this pull request Jan 6, 2025
Updating dependencies; adopted version of bevyengine#15696. (Supercedes bevyengine#15696.)

Long answer: hashbrown is no longer using ahash by default, meaning that
we can't use the default-hasher methods with ahasher. So, we have to use
the longer-winded versions instead. This takes the opportunity to also
switch our default hasher as well, but without actually enabling the
default-hasher feature for hashbrown, meaning that we'll be able to
change our hasher more easily at the cost of all of these method calls
being obnoxious forever.

One large change from 0.15 is that `insert_unique_unchecked` is now
`unsafe`, and for cases where unsafe code was denied at the crate level,
I replaced it with `insert`.

## Migration Guide

`bevy_utils` has updated its version of `hashbrown` to 0.15 and now
defaults to `foldhash` instead of `ahash`. This means that if you've
hard-coded your hasher to `bevy_utils::AHasher` or separately used the
`ahash` crate in your code, you may need to switch to `foldhash` to
ensure that everything works like it does in Bevy.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

C-Dependencies A change to the crates that Bevy depends on

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants