rust-lang / rust-lang/rust-clippy
`Option::and_then(|v| ...(&v).then_some(v))` to `Option::filter(|v| ...(v))`
Open
@lolbinarycat is already working on this.
Since Jun 22, 2024.
A-lint
- Dominant language
- Rust
- Stars
- 13.5k
- Forks
- 2.2k
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 32
Description
What it does
Improve the code to be more concise
Advantage
- Less and cleaner
Drawbacks
No response
Example
fn foo() {
let x = Some("foo".to_owned());
let _y = x.and_then(|v| v.starts_with('f')
.then_some(v));
}
Could be written as:
fn foo() {
let x = Some("foo".to_owned());
let _y = x.filter(|v| v.starts_with('f'));
}
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.