Skip to content
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

Map trait improvements #10547

Closed
wants to merge 2 commits into from
Closed

Conversation

davidhalperin
Copy link
Contributor

Add methods find_or_insert, find_or_insert_with, insert_or_update_with and reserve_at_least to the MutableMap trait.

Closes #5568.

The unsafe way of implementing find_or_insert_with on TreeMap mentioned in the issue discussion doesn't work after all. The way done here isn't great but it works at least. Someone can come up with a better implementation in the future but I don't think that should hold the rest of this up.

Instead of associating a redundant key with each value, so find_or_insert_with
can keep a reference to it, just store the one that was just inserted.
@emberian
Copy link
Member

This... what? @davidhalperin did you push to this PR's branch after it got merged?

@thestinger
Copy link
Contributor

@cmr: GitHub associates comments with commits, so it's showing comments from another pull request - it looks like changes were merged into this branch rather than it being rebased onto master

@davidhalperin
Copy link
Contributor Author

Sorry, I'm new to git. Fixed, I think, but let me know if there's still an issue.

@alexcrichton
Copy link
Member

Closing due to a lack of activity. I also believe that the Map trait may need to be thought out a little more to justify the usage of all the stack closures which we're strongly attempting to avoid now.

flip1995 pushed a commit to flip1995/rust that referenced this pull request Apr 6, 2023
…zation-nursery, r=flip1995

Move unnecessary_struct_initialization to nursery

changelog: none, assuming it makes into the same release as rust-lang#10489

Mostly because of rust-lang#10547 but there is also rust-lang#10548
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

add find_or_insert method to the Map trait
4 participants