rust-lang / rust-lang/rust-clippy
new lint: infallible TryFrom
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
look for
impl TryFrom<TypeA> for TypeB {
type Error = Infallible;
this is already a blanket implementation for impl From<TypeA> for TypeB, so it would be better to just implement From.
Advantage
- From is simpler and more obvious that it's infallible
- can be used in code which requires
Fromimpl
Drawbacks
No response
Example
impl TryFrom<TypeA> for TypeB {
type Error = Infallible;
fn try_from(value: TypeA) -> Result<Self, Self::Error> {
...
}
}
Could be written as:
impl From<TypeA> for TypeB {
fn from(value: bool) -> Self {
...
}
}
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 files, tests, or entry points are named. Use the TryFrom for TypeB examples and the Infallible error as the acceptance target: identify infallible TryFrom implementations and verify that the lint recommends an equivalent From implementation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- devtools
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100