1
Fork 0

Address comments re. off-topic errors.

This commit is contained in:
Mazdak Farrokhzad 2019-07-24 02:30:37 +02:00
parent becdba80ea
commit 5f4dd1d19a
6 changed files with 48 additions and 44 deletions

View file

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

View file

@ -30,13 +30,16 @@ LL | [1, tail @ .., tail @ ..] => {},
| | | |
| previously used here | previously used here
error[E0529]: expected an array or slice, found `std::vec::Vec<_>` error[E0308]: mismatched types
--> $DIR/match-vec-invalid.rs:4:9 --> $DIR/match-vec-invalid.rs:13:30
| |
LL | [1, tail @ .., tail @ ..] => {}, LL | const RECOVERY_WITNESS: () = 0;
| ^^^^^^^^^^^^^^^^^^^^^^^^^ pattern cannot match with input type `std::vec::Vec<_>` | ^ expected (), found integer
|
= note: expected type `()`
found type `{integer}`
error: aborting due to 5 previous errors error: aborting due to 5 previous errors
Some errors have detailed explanations: E0416, E0529, E0658. Some errors have detailed explanations: E0308, E0416, E0658.
For more information about an error, try `rustc --explain E0416`. For more information about an error, try `rustc --explain E0308`.

View file

@ -1,6 +1,9 @@
fn main() { fn main() {
struct Test(&'static u8, [u8; 0]);
let x = Test(&0, []);
let Test(&desc[..]) = x; //~ ERROR: expected one of `)`, `,`, or `@`, found `[` let Test(&desc[..]) = x; //~ ERROR: expected one of `)`, `,`, or `@`, found `[`
//~^ ERROR cannot find value `x` in this scope //~^ ERROR subslice patterns are unstable
//~| ERROR cannot find tuple struct/variant `Test` in this scope
//~| ERROR subslice patterns are unstable
} }
const RECOVERY_WITNESS: () = 0; //~ ERROR mismatched types

View file

@ -1,23 +1,11 @@
error: expected one of `)`, `,`, or `@`, found `[` error: expected one of `)`, `,`, or `@`, found `[`
--> $DIR/pat-lt-bracket-6.rs:2:19 --> $DIR/pat-lt-bracket-6.rs:5:19
| |
LL | let Test(&desc[..]) = x; LL | let Test(&desc[..]) = x;
| ^ expected one of `)`, `,`, or `@` here | ^ expected one of `)`, `,`, or `@` here
error[E0425]: cannot find value `x` in this scope
--> $DIR/pat-lt-bracket-6.rs:2:27
|
LL | let Test(&desc[..]) = x;
| ^ not found in this scope
error[E0531]: cannot find tuple struct/variant `Test` in this scope
--> $DIR/pat-lt-bracket-6.rs:2:9
|
LL | let Test(&desc[..]) = x;
| ^^^^ not found in this scope
error[E0658]: subslice patterns are unstable error[E0658]: subslice patterns are unstable
--> $DIR/pat-lt-bracket-6.rs:2:20 --> $DIR/pat-lt-bracket-6.rs:5:20
| |
LL | let Test(&desc[..]) = x; LL | let Test(&desc[..]) = x;
| ^^ | ^^
@ -25,7 +13,16 @@ LL | let Test(&desc[..]) = x;
= note: for more information, see https://github.com/rust-lang/rust/issues/62254 = note: for more information, see https://github.com/rust-lang/rust/issues/62254
= help: add `#![feature(slice_patterns)]` to the crate attributes to enable = help: add `#![feature(slice_patterns)]` to the crate attributes to enable
error: aborting due to 4 previous errors error[E0308]: mismatched types
--> $DIR/pat-lt-bracket-6.rs:9:30
|
LL | const RECOVERY_WITNESS: () = 0;
| ^ expected (), found integer
|
= note: expected type `()`
found type `{integer}`
Some errors have detailed explanations: E0425, E0658. error: aborting due to 3 previous errors
For more information about an error, try `rustc --explain E0425`.
Some errors have detailed explanations: E0308, E0658.
For more information about an error, try `rustc --explain E0308`.

View file

@ -1,5 +1,8 @@
fn main() { fn main() {
for thing(x[]) in foo {} //~ ERROR: expected one of `)`, `,`, or `@`, found `[` struct Thing(u8, [u8; 0]);
//~^ ERROR cannot find value `foo` in this scope let foo = core::iter::empty();
//~| ERROR cannot find tuple struct/variant `thing` in this scope
for Thing(x[]) in foo {} //~ ERROR: expected one of `)`, `,`, or `@`, found `[`
} }
const RECOVERY_WITNESS: () = 0; //~ ERROR mismatched types

View file

@ -1,21 +1,18 @@
error: expected one of `)`, `,`, or `@`, found `[` error: expected one of `)`, `,`, or `@`, found `[`
--> $DIR/pat-lt-bracket-7.rs:2:16 --> $DIR/pat-lt-bracket-7.rs:5:16
| |
LL | for thing(x[]) in foo {} LL | for Thing(x[]) in foo {}
| ^ expected one of `)`, `,`, or `@` here | ^ expected one of `)`, `,`, or `@` here
error[E0425]: cannot find value `foo` in this scope error[E0308]: mismatched types
--> $DIR/pat-lt-bracket-7.rs:2:23 --> $DIR/pat-lt-bracket-7.rs:8:30
| |
LL | for thing(x[]) in foo {} LL | const RECOVERY_WITNESS: () = 0;
| ^^^ not found in this scope | ^ expected (), found integer
error[E0531]: cannot find tuple struct/variant `thing` in this scope
--> $DIR/pat-lt-bracket-7.rs:2:9
| |
LL | for thing(x[]) in foo {} = note: expected type `()`
| ^^^^^ not found in this scope found type `{integer}`
error: aborting due to 3 previous errors error: aborting due to 2 previous errors
For more information about this error, try `rustc --explain E0425`. For more information about this error, try `rustc --explain E0308`.