Ensure that "true" and "false" won't go in same bucket in hash table #3471
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 doesn't completely address #3468, but it at least does when the keys of the hash table are
true
andfalse
.Before:
After
We also refactor the code mentioned in #3468 (comment) so it doesn't rely on the order of the elements returned byEdit: I removed this commit because it's already dealt with in #3469.values
.Edit no. 2: I adjusted the hash of
false
to be congruent to 2 (mod 4) instead of 0 (mod 4) so that thetrue
bucket would go before thefalse
bucket and the builds wouldn't fail w/o #3469.