Skip to content

Commit

Permalink
Address comments re. off-topic errors.
Browse files Browse the repository at this point in the history
  • Loading branch information
Centril committed Jul 28, 2019
1 parent becdba8 commit 5f4dd1d
Show file tree
Hide file tree
Showing 6 changed files with 48 additions and 44 deletions.
5 changes: 3 additions & 2 deletions src/test/ui/parser/match-vec-invalid.rs
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
fn main() {
let a = Vec::new();
let a: &[u8] = &[];
match a {
[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<_>`
_ => ()
}
}

const RECOVERY_WITNESS: () = 0; //~ ERROR mismatched types
15 changes: 9 additions & 6 deletions src/test/ui/parser/match-vec-invalid.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,16 @@ LL | [1, tail @ .., tail @ ..] => {},
| |
| previously used here

error[E0529]: expected an array or slice, found `std::vec::Vec<_>`
--> $DIR/match-vec-invalid.rs:4:9
error[E0308]: mismatched types
--> $DIR/match-vec-invalid.rs:13:30
|
LL | [1, tail @ .., tail @ ..] => {},
| ^^^^^^^^^^^^^^^^^^^^^^^^^ pattern cannot match with input type `std::vec::Vec<_>`
LL | const RECOVERY_WITNESS: () = 0;
| ^ expected (), found integer
|
= note: expected type `()`
found type `{integer}`

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`.
Some errors have detailed explanations: E0308, E0416, E0658.
For more information about an error, try `rustc --explain E0308`.
9 changes: 6 additions & 3 deletions src/test/ui/parser/pat-lt-bracket-6.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
fn main() {
struct Test(&'static u8, [u8; 0]);
let x = Test(&0, []);

let Test(&desc[..]) = x; //~ ERROR: expected one of `)`, `,`, or `@`, found `[`
//~^ ERROR cannot find value `x` in this scope
//~| ERROR cannot find tuple struct/variant `Test` in this scope
//~| ERROR subslice patterns are unstable
//~^ ERROR subslice patterns are unstable
}

const RECOVERY_WITNESS: () = 0; //~ ERROR mismatched types
31 changes: 14 additions & 17 deletions src/test/ui/parser/pat-lt-bracket-6.stderr
Original file line number Diff line number Diff line change
@@ -1,31 +1,28 @@
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;
| ^ 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
--> $DIR/pat-lt-bracket-6.rs:2:20
--> $DIR/pat-lt-bracket-6.rs:5:20
|
LL | let Test(&desc[..]) = x;
| ^^
|
= 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: 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}`

error: aborting due to 3 previous errors

Some errors have detailed explanations: E0425, E0658.
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`.
9 changes: 6 additions & 3 deletions src/test/ui/parser/pat-lt-bracket-7.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
fn main() {
for thing(x[]) in foo {} //~ ERROR: expected one of `)`, `,`, or `@`, found `[`
//~^ ERROR cannot find value `foo` in this scope
//~| ERROR cannot find tuple struct/variant `thing` in this scope
struct Thing(u8, [u8; 0]);
let foo = core::iter::empty();

for Thing(x[]) in foo {} //~ ERROR: expected one of `)`, `,`, or `@`, found `[`
}

const RECOVERY_WITNESS: () = 0; //~ ERROR mismatched types
23 changes: 10 additions & 13 deletions src/test/ui/parser/pat-lt-bracket-7.stderr
Original file line number Diff line number Diff line change
@@ -1,21 +1,18 @@
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

error[E0425]: cannot find value `foo` in this scope
--> $DIR/pat-lt-bracket-7.rs:2:23
error[E0308]: mismatched types
--> $DIR/pat-lt-bracket-7.rs:8:30
|
LL | for thing(x[]) in foo {}
| ^^^ not found in this scope

error[E0531]: cannot find tuple struct/variant `thing` in this scope
--> $DIR/pat-lt-bracket-7.rs:2:9
LL | const RECOVERY_WITNESS: () = 0;
| ^ expected (), found integer
|
LL | for thing(x[]) in foo {}
| ^^^^^ not found in this scope
= note: expected type `()`
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`.

0 comments on commit 5f4dd1d

Please sign in to comment.