]> git.proxmox.com Git - rustc.git/blame - src/test/compile-fail/match-byte-array-patterns.rs
New upstream version 1.26.0+dfsg1
[rustc.git] / src / test / compile-fail / match-byte-array-patterns.rs
CommitLineData
c30ab7b3
SL
1// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
2// file at the top-level directory of this distribution and at
3// http://rust-lang.org/COPYRIGHT.
4//
5// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8// option. This file may not be copied, modified, or distributed
9// except according to those terms.
10
0531ce1d 11#![feature(slice_patterns)]
32a655c1 12#![deny(unreachable_patterns)]
c30ab7b3
SL
13
14fn main() {
15 let buf = &[0, 1, 2, 3];
16
17 match buf {
18 b"AAAA" => {},
19 &[0x41, 0x41, 0x41, 0x41] => {} //~ ERROR unreachable pattern
20 _ => {}
21 }
22
23 match buf {
24 &[0x41, 0x41, 0x41, 0x41] => {}
25 b"AAAA" => {}, //~ ERROR unreachable pattern
26 _ => {}
27 }
28
29 match buf {
30 &[_, 0x41, 0x41, 0x41] => {},
31 b"AAAA" => {}, //~ ERROR unreachable pattern
32 _ => {}
33 }
34
35 match buf {
36 &[0x41, .., 0x41] => {}
37 b"AAAA" => {}, //~ ERROR unreachable pattern
38 _ => {}
39 }
40
c30ab7b3
SL
41 let buf: &[u8] = buf;
42
43 match buf {
44 b"AAAA" => {},
45 &[0x41, 0x41, 0x41, 0x41] => {} //~ ERROR unreachable pattern
46 _ => {}
47 }
48
49 match buf {
50 &[0x41, 0x41, 0x41, 0x41] => {}
51 b"AAAA" => {}, //~ ERROR unreachable pattern
52 _ => {}
53 }
54
55 match buf {
56 &[_, 0x41, 0x41, 0x41] => {},
57 b"AAAA" => {}, //~ ERROR unreachable pattern
58 _ => {}
59 }
60
61 match buf {
62 &[0x41, .., 0x41] => {}
63 b"AAAA" => {}, //~ ERROR unreachable pattern
64 _ => {}
65 }
c30ab7b3 66}