2018-12-13 11:54:49 +00:00
|
|
|
#![deny(unreachable_patterns)]
|
2018-11-13 13:10:47 +00:00
|
|
|
|
|
|
|
fn main() {
|
2018-11-26 08:56:39 +00:00
|
|
|
let s = &[0x00; 4][..]; //Slice of any value
|
|
|
|
const MAGIC_TEST: &[u8] = b"TEST"; //Const slice to pattern match with
|
|
|
|
match s {
|
|
|
|
MAGIC_TEST => (),
|
|
|
|
[0x00, 0x00, 0x00, 0x00] => (),
|
2018-12-13 11:54:49 +00:00
|
|
|
[84, 69, 83, 84] => (), //~ ERROR unreachable pattern
|
2018-11-29 11:58:25 +00:00
|
|
|
_ => (),
|
|
|
|
}
|
|
|
|
match s {
|
|
|
|
[0x00, 0x00, 0x00, 0x00] => (),
|
|
|
|
MAGIC_TEST => (),
|
2018-12-13 11:54:49 +00:00
|
|
|
[84, 69, 83, 84] => (), //~ ERROR unreachable pattern
|
2018-11-29 11:58:25 +00:00
|
|
|
_ => (),
|
|
|
|
}
|
|
|
|
match s {
|
|
|
|
[0x00, 0x00, 0x00, 0x00] => (),
|
|
|
|
[84, 69, 83, 84] => (),
|
2018-12-13 11:54:49 +00:00
|
|
|
MAGIC_TEST => (), //~ ERROR unreachable pattern
|
2018-11-26 08:56:39 +00:00
|
|
|
_ => (),
|
|
|
|
}
|
2018-12-07 18:06:22 +00:00
|
|
|
const FOO: [u8; 1] = [4];
|
|
|
|
match [99] {
|
|
|
|
[0x00] => (),
|
|
|
|
[4] => (),
|
2018-12-13 11:54:49 +00:00
|
|
|
FOO => (), //~ ERROR unreachable pattern
|
2018-12-07 18:06:22 +00:00
|
|
|
_ => (),
|
|
|
|
}
|
|
|
|
const BAR: &[u8; 1] = &[4];
|
|
|
|
match &[99] {
|
|
|
|
[0x00] => (),
|
|
|
|
[4] => (),
|
2018-12-13 11:54:49 +00:00
|
|
|
BAR => (), //~ ERROR unreachable pattern
|
2018-12-07 18:06:22 +00:00
|
|
|
b"a" => (),
|
|
|
|
_ => (),
|
|
|
|
}
|
|
|
|
|
|
|
|
const BOO: &[u8; 0] = &[];
|
|
|
|
match &[] {
|
|
|
|
[] => (),
|
2018-12-13 11:54:49 +00:00
|
|
|
BOO => (), //~ ERROR unreachable pattern
|
|
|
|
b"" => (), //~ ERROR unreachable pattern
|
|
|
|
_ => (), //~ ERROR unreachable pattern
|
2018-12-07 18:06:22 +00:00
|
|
|
}
|
2019-11-17 22:25:51 +00:00
|
|
|
|
|
|
|
const CONST1: &[bool; 1] = &[true];
|
|
|
|
match &[false] {
|
|
|
|
CONST1 => {}
|
|
|
|
[true] => {} //~ ERROR unreachable pattern
|
|
|
|
[false] => {}
|
|
|
|
}
|
2018-11-13 14:50:10 +00:00
|
|
|
}
|