rust-lang / rust-lang/rust-clippy
New lint: noop_as
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 13.5k
- Forks
- 2.2k
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 32
Description
What it does
Detect when a type is as cast as itself.
Advantage
Removes needless and confusing code. No-op casts are the only way to cast to non-primitive types, and so it would likely be very confusing to encounter these in the wild.
Drawbacks
Must take care to not suggest anything that breaks type inference.
Example
const FOO: &str = "bar" as &str;
Could be written as:
const FOO: &str = "bar";
Comparision with existing lints
No response
Additional Context
No response
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
Start by reviewing rust-clippy's existing cast-related lint implementations and tests. Define the no-op as cases to detect, verify that removing a cast does not affect type inference, and add coverage showing the lint and its suggested simplification behave correctly.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100