#![deny(unreachable_patterns)] | |
enum Q { R(Option<usize>) } | |
pub fn main() { | |
match Q::R(None) { | |
Q::R(S) if S.is_some() => {} | |
_ => {} | |
} | |
match 0u8 { //~ ERROR non-exhaustive patterns | |
0 .. 128 => {} | |
128 ..= 255 if true => {} | |
} | |
match 0u8 { | |
0 .. 128 => {} | |
128 ..= 255 if false => {} | |
128 ..= 255 => {} // ok, because previous arm was guarded | |
} | |
} |