rust-lang / rust-lang/rust-clippy
De Morgan any / all
Open
Nobody has claimed this yet.
A-lint
- Dominant language
- Rust
- Stars
- 13.5k
- Forks
- 2.2k
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 32
Description
What it does
Would be good to suggest:
if !incoming.iter().any(|e| e == old) {}
to
if incoming.iter().all(|e| e != old) {}
(and the opposite)
This didn't seem to be in the complexity group, but similar others were so I think this is missing.
Lint Name
De Morgan any / all
Category
complexity
Advantage
simpler
Drawbacks
none
Example
if !incoming.iter().any(|e| e == old) {}
Could be written as:
if incoming.iter().all(|e| e != old) {}
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
The issue names no files, tests, or entry points. Start by locating existing complexity lints for related iterator and De Morgan transformations in rust-clippy, then follow their implementation and test structure; done means both any-to-all and all-to-any cases are covered with regression examples.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100