about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMazdak Farrokhzad <twingoow@gmail.com>2019-07-24 02:30:37 +0200
committerMazdak Farrokhzad <twingoow@gmail.com>2019-07-28 06:53:39 +0200
commit5f4dd1d19a6851389c7e27902cd1fb6ebbb46dcc (patch)
tree81fcba879afe9f9ed802d0af73793a7371f74e39
parentbecdba80ea777afb8ebcd482fc657728b1661dbf (diff)
downloadrust-5f4dd1d19a6851389c7e27902cd1fb6ebbb46dcc.tar.gz
rust-5f4dd1d19a6851389c7e27902cd1fb6ebbb46dcc.zip
Address comments re. off-topic errors.
-rw-r--r--src/test/ui/parser/match-vec-invalid.rs5
-rw-r--r--src/test/ui/parser/match-vec-invalid.stderr15
-rw-r--r--src/test/ui/parser/pat-lt-bracket-6.rs9
-rw-r--r--src/test/ui/parser/pat-lt-bracket-6.stderr31
-rw-r--r--src/test/ui/parser/pat-lt-bracket-7.rs9
-rw-r--r--src/test/ui/parser/pat-lt-bracket-7.stderr23
6 files changed, 48 insertions, 44 deletions
diff --git a/src/test/ui/parser/match-vec-invalid.rs b/src/test/ui/parser/match-vec-invalid.rs
index d14fdc4e22e..00f4374b256 100644
--- a/src/test/ui/parser/match-vec-invalid.rs
+++ b/src/test/ui/parser/match-vec-invalid.rs
@@ -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
diff --git a/src/test/ui/parser/match-vec-invalid.stderr b/src/test/ui/parser/match-vec-invalid.stderr
index 49d5a83c5a9..0956ac21b7f 100644
--- a/src/test/ui/parser/match-vec-invalid.stderr
+++ b/src/test/ui/parser/match-vec-invalid.stderr
@@ -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`.
diff --git a/src/test/ui/parser/pat-lt-bracket-6.rs b/src/test/ui/parser/pat-lt-bracket-6.rs
index 69c4bfb23c2..7b972183099 100644
--- a/src/test/ui/parser/pat-lt-bracket-6.rs
+++ b/src/test/ui/parser/pat-lt-bracket-6.rs
@@ -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
diff --git a/src/test/ui/parser/pat-lt-bracket-6.stderr b/src/test/ui/parser/pat-lt-bracket-6.stderr
index 45270b314a9..201465b2c85 100644
--- a/src/test/ui/parser/pat-lt-bracket-6.stderr
+++ b/src/test/ui/parser/pat-lt-bracket-6.stderr
@@ -1,23 +1,11 @@
 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;
    |                    ^^
@@ -25,7 +13,16 @@ 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`.
diff --git a/src/test/ui/parser/pat-lt-bracket-7.rs b/src/test/ui/parser/pat-lt-bracket-7.rs
index 1060d705e6e..020fdb845e8 100644
--- a/src/test/ui/parser/pat-lt-bracket-7.rs
+++ b/src/test/ui/parser/pat-lt-bracket-7.rs
@@ -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
diff --git a/src/test/ui/parser/pat-lt-bracket-7.stderr b/src/test/ui/parser/pat-lt-bracket-7.stderr
index 3e4bff7cbd7..17557efa49e 100644
--- a/src/test/ui/parser/pat-lt-bracket-7.stderr
+++ b/src/test/ui/parser/pat-lt-bracket-7.stderr
@@ -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`.