-
Notifications
You must be signed in to change notification settings - Fork 13.4k
Wrong first element popped in pop_first() for BTreeSet #68829
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
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: