blob: 671a785abdbeacd9063248a4b5c26336102260b2 [file]
#![warn(clippy::collapsible_match)]
#![allow(clippy::redundant_guards, clippy::single_match)]
fn issue16558() {
let opt = Some(1);
let _ = match opt {
Some(s)
if s == 1 => { s }
//~^ collapsible_match
,
_ => 1,
};
match opt {
Some(s)
if s == 1 => {
//~^ collapsible_match
todo!()
},
_ => {},
};
let _ = match opt {
Some(s) if s > 2
&& s == 1 => { s }
//~^ collapsible_match
,
_ => 1,
};
}
// https://github.com/rust-lang/rust-clippy/issues/16875
// lint still fires when only wildcard-like arms follow (fall-through is harmless)
fn issue16875(a: Option<&str>, b: i32) -> i32 {
let mut res = 0;
match a {
Some(_)
if b == 0 => {
//~^ collapsible_match
res = 1;
},
_ => {},
}
res
}
#[rustfmt::skip]
fn issue16716(n: u32) {
match n {
0 | 1 if false => { println!("hello world"); },
//~^ collapsible_match
_ => (),
}
let opt = Some(1);
let _ = match opt {
Some(s) if s == 1 => { s }
//~^ collapsible_match
_ => 1,
};
}
#[rustfmt::skip]
fn issue16894() {
let a = 5_u8;
let b = a;
_ = match a {
11 => 0,
13 if a > b => { 1 }, _ => 0,
//~^ collapsible_match
};
_ = match a {
11 => 0, 12 if a == b => { 1 }, _ => 0,
//~^ collapsible_match
};
}