move unnecessary_get_then_check to complexity#16998
Merged
Jarcho merged 1 commit intoMay 21, 2026
Merged
Conversation
Collaborator
|
r? @Jarcho rustbot has assigned @Jarcho. Use Why was this reviewer chosen?The reviewer was selected based on:
|
This comment has been minimized.
This comment has been minimized.
The lint suggests replacing `.get(...).is_some()` (or `.is_none()`) on
`HashSet`/`BTreeSet`/`HashMap`/`BTreeMap` with `.contains()` /
`.contains_key()`. That is a readability/shortness refactor with
identical semantics, which matches the `complexity` category
("suggestions on how to simplify your code... in a shorter and more
readable way, while preserving the semantics") more closely than
`suspicious` ("code that is most likely wrong or useless").
changelog: move `unnecessary_get_then_check` lint to `complexity` group
Signed-off-by: ChrisJr404 <chris@hacknow.com>
9468853 to
34b9d99
Compare
Contributor
|
@rustbot label lint-nominated I'll start an FCP for this, but I also don't understand the category selection for this one. Ping @GuillaumeGomez since you added the lint. |
Collaborator
|
This lint has been nominated for inclusion. |
Member
|
|
Jarcho
approved these changes
May 21, 2026
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.
The lint fires on
.get(...).is_some()(or.is_none()) againstHashSet/BTreeSet/HashMap/BTreeMapand suggests.contains()/.contains_key(). The two forms are semantically equivalent and the suggestion is purely a readability/shortness refactor, socomplexityreads as a better fit thansuspiciousper the descriptions in the clippy book:suspicious— "code that is most likely wrong or useless"complexity— "suggestions on how to simplify your code... in a shorter and more readable way, while preserving the semantics"#16302 made the same kind of move for
multiple_bound_locations(suspicious->style) with similar reasoning, so there is precedent for adjusting a lint's category when it no longer matches the original placement.Happy to drop this if the team prefers to keep it in
suspicious; the issue reporter raised the case and the category boundary is a judgement call.Fixes #16990.
changelog: move
unnecessary_get_then_checklint tocomplexitygroup