-
Notifications
You must be signed in to change notification settings - Fork 292
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
drain_filter
has opposite behavior of standard library version
#186
Comments
That... seems unfortunate. I assume the proper behavior is the one in libstd and the behavior of hashbrown is incorrect. This is going to have to be a (silent) breaking change, but that's fine since we can just do a major version bump. |
mbrubeck
added a commit
to mbrubeck/hashbrown
that referenced
this issue
Aug 11, 2020
bors
added a commit
that referenced
this issue
Aug 11, 2020
Reverse `drain_filter` behavior to match libstd Fixes #186. This is the worst sort of silent breaking change, but we don't have much choice here.
bors
added a commit
that referenced
this issue
Aug 11, 2020
Reverse `drain_filter` behavior to match libstd Fixes #186. This is the worst sort of silent breaking change, but we don't have much choice here.
mbrubeck
added a commit
to mbrubeck/hashbrown
that referenced
this issue
Aug 11, 2020
bors
added a commit
that referenced
this issue
Aug 11, 2020
Reverse `drain_filter` behavior to match libstd Fixes #186. This is the worst sort of silent breaking change, but we don't have much choice here.
bors
added a commit
that referenced
this issue
Aug 12, 2020
Reverse `drain_filter` behavior to match libstd Fixes #186. This is the worst sort of silent breaking change, but we don't have much choice here.
mbrubeck
added a commit
to mbrubeck/ya-net-p2p
that referenced
this issue
Sep 3, 2020
The behavior of the `HashMap::drain_filter` method has changed in this release. For details, see: rust-lang/hashbrown#186
mbrubeck
added a commit
to mbrubeck/sorbus
that referenced
this issue
Sep 3, 2020
The behavior of `drain_filter` has changed in this release: rust-lang/hashbrown#186
mbrubeck
added a commit
to mbrubeck/lol-html
that referenced
this issue
Sep 3, 2020
The behavior of the `drain_filter` method has changed in this release: rust-lang/hashbrown#186
mbrubeck
added a commit
to mbrubeck/satsuma
that referenced
this issue
Sep 3, 2020
The behavior of `drain_filter` has changed in this release: rust-lang/hashbrown#186
mbrubeck
added a commit
to mbrubeck/redshirt
that referenced
this issue
Sep 3, 2020
The behavior of `drain_filter` has changed in this release: rust-lang/hashbrown#186
bors bot
added a commit
to CAD97/sorbus
that referenced
this issue
Sep 4, 2020
72: Update to hashbrown 0.9 r=CAD97 a=mbrubeck The behavior of `drain_filter` has changed in this release: rust-lang/hashbrown#186 Co-authored-by: Matt Brubeck <[email protected]>
tomaka
pushed a commit
to tomaka/redshirt
that referenced
this issue
Sep 4, 2020
The behavior of `drain_filter` has changed in this release: rust-lang/hashbrown#186
inikulin
pushed a commit
to cloudflare/lol-html
that referenced
this issue
Oct 13, 2020
* Update to hashbrown 0.9 The behavior of the `drain_filter` method has changed in this release: rust-lang/hashbrown#186 * Use HashMap::retain instead of drain_filter
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
In methods like
std::vec::Vec::drain_filter
, the element is removed if the closure returnstrue
. But inhashbrown::HashMap::drain_filter
(#135) andhashbrown::HashSet::drain_filter
(#179), the element is removed if the closure returnsfalse
. 😦cc rust-lang/rust#59618
Update: This is fixed in hashbrown 0.9.0. When upgrading from earlier versions, all callers must flip the meaning of the predicate passed to the
drain_filter
method. I have submitted pull requests to all the affected crates I could find.The text was updated successfully, but these errors were encountered: