- Notifications
You must be signed in to change notification settings - Fork 1.8k
Open
Labels
A-lintArea: New lintsArea: New lints
Description
What it does
Detects an exhaustive pattern match and suggests replacing it with _
e.g.
`fn main() {
let b = A::B;
match b { A::B | A::C => println!("Pattern is verbose") }
}
#[derive(PartialEq)]
enum A {
B, C
}`
In the above case it's a little simple but when doing things with nested tuples something might be missed
Advantage
_
is easier to read, epecially in cases of mathicng with nested tuples
Drawbacks
No response
Example
<code> fn main() { let b = A::B; let a = 11; match (a, b) { (10, A::B | A::C) => println!("Pattern is verbose"), _ => println!("Pattern is verbose") } } #[derive(PartialEq)] enum A { B, C }
Could be written as:
<code> fn main() { let b = A::B; let a = 11; match (a, b) { (10, _) => println!("Pattern is verbose"), _ => println!("Pattern is verbose") } } #[derive(PartialEq)] enum A { B, C }
Metadata
Metadata
Assignees
Labels
A-lintArea: New lintsArea: New lints