rust-lang / rust-lang/rust-clippy
Lint Idea: Convert `for` loop and break to `if let` and `find`
Open
Nobody has claimed this yet.
A-lint
L-complexity
L-suggestion
- Dominant language
- Rust
- Stars
- 13.5k
- Forks
- 2.2k
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 32
Description
name: find_as_loop (Maybe. I'm not sure of this.)
group: pedantic
for x in &collection {
if <condition> {
<statemetns>;
break;
}
}
can be converted to
if let Some(x) = collection.iter().find(<condition>) {
<statements>;
}
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No file or test is named. Start by reviewing the proposed for/break and if let/find examples, then inspect rust-clippy's existing lint implementations and test conventions. Done means defining the supported pattern and validating the proposed transformation where applicable.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- devtools, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100