rust/src/test/ui/pattern/usefulness/slice-pattern-const-3.rs

32 lines
984 B
Rust
Raw Normal View History

2018-12-13 05:54:49 -06:00
#![deny(unreachable_patterns)]
fn main() {
2018-11-26 02:56:39 -06:00
let s = &["0x00"; 4][..]; //Slice of any value
const MAGIC_TEST: &[&str] = &["4", "5", "6", "7"]; //Const slice to pattern match with
match s {
MAGIC_TEST => (),
["0x00", "0x00", "0x00", "0x00"] => (),
2018-12-13 05:54:49 -06:00
["4", "5", "6", "7"] => (), // FIXME(oli-obk): this should warn, but currently does not
2018-11-29 05:58:25 -06:00
_ => (),
}
match s {
["0x00", "0x00", "0x00", "0x00"] => (),
MAGIC_TEST => (),
2018-12-13 05:54:49 -06:00
["4", "5", "6", "7"] => (), // FIXME(oli-obk): this should warn, but currently does not
2018-11-29 05:58:25 -06:00
_ => (),
}
match s {
["0x00", "0x00", "0x00", "0x00"] => (),
["4", "5", "6", "7"] => (),
2018-12-13 05:54:49 -06:00
MAGIC_TEST => (), // FIXME(oli-obk): this should warn, but currently does not
2018-11-26 02:56:39 -06:00
_ => (),
}
2018-12-07 12:06:22 -06:00
const FOO: [&str; 1] = ["boo"];
match ["baa"] {
["0x00"] => (),
["boo"] => (),
2018-12-13 05:54:49 -06:00
FOO => (), //~ ERROR unreachable pattern
2018-12-07 12:06:22 -06:00
_ => (),
}
}