--bless tests due to new subslice syntax.

This commit is contained in:
Mazdak Farrokhzad 2019-07-08 01:58:28 +02:00
parent 75da43dc87
commit 91c8b53f45
14 changed files with 95 additions and 56 deletions

View file

@ -1,7 +1,12 @@
fn main() {
let a = Vec::new();
match a {
[1, tail @ .., tail @ ..] => {}, //~ ERROR: expected one of `,` or `@`, found `..`
[1, tail @ .., tail @ ..] => {},
//~^ ERROR identifier `tail` is bound more than once in the same pattern
//~| ERROR subslice patterns are unstable
//~| ERROR subslice patterns are unstable
//~| ERROR `..` can only be used once per slice pattern
//~| ERROR expected an array or slice, found `std::vec::Vec<_>`
_ => ()
}
}

View file

@ -1,8 +1,42 @@
error: expected one of `,` or `@`, found `..`
--> $DIR/match-vec-invalid.rs:4:25
error[E0416]: identifier `tail` is bound more than once in the same pattern
--> $DIR/match-vec-invalid.rs:4:24
|
LL | [1, tail.., tail..] => {},
| ^^ expected one of `,` or `@` here
LL | [1, tail @ .., tail @ ..] => {},
| ^^^^ used in a pattern more than once
error: aborting due to previous error
error[E0658]: subslice patterns are unstable
--> $DIR/match-vec-invalid.rs:4:13
|
LL | [1, tail @ .., tail @ ..] => {},
| ^^^^^^^^^
|
= note: for more information, see https://github.com/rust-lang/rust/issues/62254
= help: add #![feature(slice_patterns)] to the crate attributes to enable
error[E0658]: subslice patterns are unstable
--> $DIR/match-vec-invalid.rs:4:24
|
LL | [1, tail @ .., tail @ ..] => {},
| ^^^^^^^^^
|
= note: for more information, see https://github.com/rust-lang/rust/issues/62254
= help: add #![feature(slice_patterns)] to the crate attributes to enable
error: `..` can only be used once per slice pattern
--> $DIR/match-vec-invalid.rs:4:31
|
LL | [1, tail @ .., tail @ ..] => {},
| -- ^^ can only be used once per slice pattern
| |
| previously used here
error[E0529]: expected an array or slice, found `std::vec::Vec<_>`
--> $DIR/match-vec-invalid.rs:4:9
|
LL | [1, tail @ .., tail @ ..] => {},
| ^^^^^^^^^^^^^^^^^^^^^^^^^ pattern cannot match with input type `std::vec::Vec<_>`
error: aborting due to 5 previous errors
Some errors have detailed explanations: E0416, E0529, E0658.
For more information about an error, try `rustc --explain E0416`.

View file

@ -1,6 +1,6 @@
fn main() {
match (0, 1, 2) {
(.., pat, ..) => {}
//~^ ERROR `..` can only be used once per tuple or tuple struct pattern
//~^ ERROR `..` can only be used once per tuple pattern
}
}

View file

@ -1,10 +1,10 @@
error: `..` can only be used once per tuple or tuple struct pattern
error: `..` can only be used once per tuple pattern
--> $DIR/pat-tuple-3.rs:3:19
|
LL | (.., pat, ..) => {}
| -- ^^ can only be used once per pattern
| -- ^^ can only be used once per tuple pattern
| |
| previously present here
| previously used here
error: aborting due to previous error