Wean HashSet from the raw-entry API#555
Conversation
57f60db to
dd26cdb
Compare
|
@bors r+ |
|
🔒 Merge conflict This pull request and the master branch diverged in a way that cannot be automatically merged. Please rebase on top of the latest master branch, and let the reviewer approve again. How do I rebase?Assuming
You may also read Git Rebasing to Resolve Conflicts by Drew Blessing for a short tutorial. Please avoid the "Resolve conflicts" button on GitHub. It uses Sometimes step 4 will complete without asking for resolution. This is usually due to difference between how Error message |
|
☔ The latest upstream changes (presumably #554) made this pull request unmergeable. Please resolve the merge conflicts. |
This changes `get_or_insert`, `get_or_insert_with`, and `bitxor_assign` to poke directly at the `RawTable` instead of using `raw_entry_mut()`. `HashSet::get_or_insert_with` also asserts that the converted value is actually equivalent after conversion, so we can ensure set consistency. `HashSet::get_or_insert_owned` is removed for now, since it offers no value over the `_with` method, as we would need to assert that too.
Co-authored-by: JustForFun88 <alishergaliev88@gmail.com>
dd26cdb to
6420cfd
Compare
|
The conflict was simply in the placement of new tests. @bors r=Amanieu |
Wean `HashSet` from the raw-entry API This changes `get_or_insert`, `get_or_insert_with`, and `bitxor_assign` to poke directly at the `RawTable` instead of using `raw_entry_mut()`. `HashSet::get_or_insert_with` also asserts that the converted value is actually equivalent after conversion, so we can ensure set consistency. `HashSet::get_or_insert_owned` is removed for now, since it offers no value over the `_with` method, as we would need to assert that too.
|
💥 Test timed out |
|
@bors retry |
|
☀️ Test successful - checks-actions |
This changes
get_or_insert,get_or_insert_with, andbitxor_assignto poke directly at the
RawTableinstead of usingraw_entry_mut().HashSet::get_or_insert_withalso asserts that the converted value isactually equivalent after conversion, so we can ensure set consistency.
HashSet::get_or_insert_ownedis removed for now, since it offers novalue over the
_withmethod, as we would need to assert that too.