Repository navigation
Add named lifetimes to entry API methods - #756
Closed
MikkelPaulson wants to merge 1 commit into
Closed
MikkelPaulson wants to merge 1 commit into
MikkelPaulson wants to merge 1 commit into
Conversation
Added lifetimes where possible referring to the parent `HashMap`/ `HashSet` rather than the entry itself. This is not possible for `VacantEntry` or by extension the `Entry` itself, but `OccupiedEntry` already opaquely returns references from the parent. Affected methods: * `fn map::OccupiedEntry::key() -> &'a K;` * `fn map::OccupiedEntry::get() -> &'a V;` * `fn map::OccupiedEntry::get_mut() -> &'a mut V;` * `fn set::OccupiedEntry::get() -> &'a V;` Also rewrote tests to inherently validate that the lifetimes are adequate (tests fail to compile against current main), and added some rudimentary coverage for the `HashSet` entry API.
Member
|
No, this is unsound -- e.g. it would allow multiple calls to |
Contributor
Author
|
Oh, good point. Would you be open to adding |
Member
|
Hmm, right, there's no way to get the full lifetime from the set entry otherwise. Adding |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Added lifetimes where possible referring to the parent
HashMap/HashSetrather than the entry itself. This is not possible forVacantEntryor by extension theEntryitself, butOccupiedEntryalready opaquely returns references from the parent.Affected methods:
fn map::OccupiedEntry::key() -> &'a K;fn map::OccupiedEntry::get() -> &'a V;fn map::OccupiedEntry::get_mut() -> &'a mut V;fn set::OccupiedEntry::get() -> &'a V;Also rewrote tests to inherently validate that the lifetimes are adequate (tests fail to compile against current main), and added some rudimentary coverage for the
HashSetentry API.