rust-lang / hashbrown

Rust port of Google's SwissTable hash map
https://rust-lang.github.io/hashbrown
Apache License 2.0
2.46k stars 288 forks source link

Further sequester `Group`/`Tag` code #568

Closed clarfonthey closed 1 week ago

clarfonthey commented 1 month ago

Was originally going to make this part of a larger change, but decided this bit is enough for its own PR.

Essentially, this completely moves the Group and Tag code outside of the raw module into a separate control module. This module will also eventually be the future home for stuff like RawIterHash and ProbeSeq, but I decided that that would be better as a separate PR, since moving and modifying the files makes it harder to review.

bors commented 1 month ago

:umbrella: The latest upstream changes (presumably #572) made this pull request unmergeable. Please resolve the merge conflicts.

clarfonthey commented 1 month ago

So, I figured out why my probing logic wasn't working: it wasn't because it wasn't working, but because my debug-assert checking that it was working wasn't working, and giving me false positives. So, #578 exists to demonstrate the fuller version of the control module so you can get an idea where I'm coming from with this change, even though this should be merged first.