rust-lang / rust-lang/rust-clippy
Lint simplifyable `ok_or_else` usage
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
The following code uses String::from
fn bar() -> Result<i32, String> {
let x = Some(52.3).ok_or_else(|| String::from("foo"))?;
Ok(42)
}
but Some(52.3).ok_or("foo")?; would also compile
So if an ok_or_else is followed by a ? and the inner function is calling From::from (or a specific version of it), we should be able to convert it to an ok_or without that call.
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.
Assessment
This issue has not been assessed yet.