]> git.proxmox.com Git - rustc.git/blob - src/test/compile-fail/match-vec-mismatch.rs
New upstream version 1.12.0+dfsg1
[rustc.git] / src / test / compile-fail / match-vec-mismatch.rs
1 // Copyright 2014 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
11 #![feature(slice_patterns)]
12
13 fn main() {
14 match "foo".to_string() {
15 ['f', 'o', ..] => {}
16 //~^ ERROR expected an array or slice, found `std::string::String`
17 _ => { }
18 };
19
20 match &[0, 1, 2] {
21 [..] => {} //~ ERROR expected an array or slice, found `&[{integer}; 3]`
22 };
23
24 match &[0, 1, 2] {
25 &[..] => {} // ok
26 };
27
28 match [0, 1, 2] {
29 [0] => {}, //~ ERROR pattern requires
30
31 [0, 1, x..] => {
32 let a: [_; 1] = x;
33 }
34 [0, 1, 2, 3, x..] => {} //~ ERROR pattern requires
35 };
36
37 match does_not_exist { //~ ERROR unresolved name
38 [] => {}
39 };
40 }
41
42 fn another_fn_to_avoid_suppression() {
43 match Default::default()
44 {
45 [] => {} //~ ERROR the type of this value
46 };
47 }