diff options
Diffstat (limited to 'src/test/ui/pattern/slice-pattern-const.rs')
| -rw-r--r-- | src/test/ui/pattern/slice-pattern-const.rs | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/src/test/ui/pattern/slice-pattern-const.rs b/src/test/ui/pattern/slice-pattern-const.rs index d353f6cddbd..f0a04513f91 100644 --- a/src/test/ui/pattern/slice-pattern-const.rs +++ b/src/test/ui/pattern/slice-pattern-const.rs @@ -1,4 +1,4 @@ -//compile-pass +#![deny(unreachable_patterns)] fn main() { let s = &[0x00; 4][..]; //Slice of any value @@ -6,19 +6,42 @@ fn main() { match s { MAGIC_TEST => (), [0x00, 0x00, 0x00, 0x00] => (), - [84, 69, 83, 84] => (), // this should warn + [84, 69, 83, 84] => (), //~ ERROR unreachable pattern _ => (), } match s { [0x00, 0x00, 0x00, 0x00] => (), MAGIC_TEST => (), - [84, 69, 83, 84] => (), // this should warn + [84, 69, 83, 84] => (), //~ ERROR unreachable pattern _ => (), } match s { [0x00, 0x00, 0x00, 0x00] => (), [84, 69, 83, 84] => (), - MAGIC_TEST => (), // this should warn + MAGIC_TEST => (), //~ ERROR unreachable pattern _ => (), } + const FOO: [u8; 1] = [4]; + match [99] { + [0x00] => (), + [4] => (), + FOO => (), //~ ERROR unreachable pattern + _ => (), + } + const BAR: &[u8; 1] = &[4]; + match &[99] { + [0x00] => (), + [4] => (), + BAR => (), //~ ERROR unreachable pattern + b"a" => (), + _ => (), + } + + const BOO: &[u8; 0] = &[]; + match &[] { + [] => (), + BOO => (), //~ ERROR unreachable pattern + b"" => (), //~ ERROR unreachable pattern + _ => (), //~ ERROR unreachable pattern + } } |
