Address comments re. off-topic errors.
This commit is contained in:
parent
becdba80ea
commit
5f4dd1d19a
6 changed files with 48 additions and 44 deletions
|
@ -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
|
||||||
|
|
|
@ -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`.
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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`.
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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`.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue