-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
Wrong first element popped in pop_first() for BTreeSet #68829
Comments
Thanks for the report! Do you know if this is a recent regression, or did this always happen? cc @ssomers in any case |
Oh this is nightly-only |
It was there in [rustc 1.42.0-nightly (31dd4f4 2020-01-13)], as that is what I was using initially, but I don't know when it appeared before that. |
Well, your expectations are right, and play.rust-lang.org confirms it's not what happens. |
The implementation is completely wrong. Apparently I did not test this on anything with more than 1 node (11 elements)!? |
So it's always been wrong (picking the first element from the root node) and it will be right in some future nightly, hopefully a day or two from now. Thank you for the clear report. |
Thanks for the rapid response! |
…r=KodrAus Fix and test implementation of BTreeMap's first/last_entry, pop_first/last Properly implement and test `first_entry` & `last_entry` to fix problem report rust-lang#68829
…r=KodrAus Fix and test implementation of BTreeMap's first/last_entry, pop_first/last Properly implement and test `first_entry` & `last_entry` to fix problem report rust-lang#68829
…r=KodrAus Fix and test implementation of BTreeMap's first/last_entry, pop_first/last Properly implement and test `first_entry` & `last_entry` to fix problem report rust-lang#68829
Drive-by triage: This should apparently have been closed by #68834. |
Summary:
When popping elements using pop_first() from a BTreeSet, the first element popped is not the min element, though remaining elements are popped in expected order.
I tried this code:
I expected to see this happen:
Instead, this happened: (Note the first result).
For various subsets of the given inputs I tried, it appears to give the expected behaviour.
Meta
rustc --version --verbose
:rustc 1.42.0-nightly (8417d68 2020-02-03)
binary: rustc
commit-hash: 8417d68
commit-date: 2020-02-03
host: x86_64-unknown-linux-gnu
release: 1.42.0-nightly
LLVM version: 9.0
The text was updated successfully, but these errors were encountered: