about summary refs log tree commit diff
path: root/src/test/ui/missing
diff options
context:
space:
mode:
authorEsteban Küber <esteban@kuber.com.ar>2020-07-08 19:39:26 -0700
committerEsteban Küber <esteban@kuber.com.ar>2020-07-12 10:34:48 -0700
commit5daedea3dbeb8fb2639d3d142b008135f4fd2b43 (patch)
tree60c642b2c04e536814c0254837012b3028b8d223 /src/test/ui/missing
parent346aec9b02f3c74f3fce97fd6bda24709d220e49 (diff)
downloadrust-5daedea3dbeb8fb2639d3d142b008135f4fd2b43.tar.gz
rust-5daedea3dbeb8fb2639d3d142b008135f4fd2b43.zip
Detect tuple struct incorrectly used as struct pat
Diffstat (limited to 'src/test/ui/missing')
-rw-r--r--src/test/ui/missing/missing-fields-in-struct-pattern.rs3
-rw-r--r--src/test/ui/missing/missing-fields-in-struct-pattern.stderr17
2 files changed, 5 insertions, 15 deletions
diff --git a/src/test/ui/missing/missing-fields-in-struct-pattern.rs b/src/test/ui/missing/missing-fields-in-struct-pattern.rs
index 24b6b55db66..40304a674a6 100644
--- a/src/test/ui/missing/missing-fields-in-struct-pattern.rs
+++ b/src/test/ui/missing/missing-fields-in-struct-pattern.rs
@@ -2,8 +2,7 @@ struct S(usize, usize, usize, usize);
 
 fn main() {
     if let S { a, b, c, d } = S(1, 2, 3, 4) {
-    //~^ ERROR struct `S` does not have fields named `a`, `b`, `c`, `d` [E0026]
-    //~| ERROR pattern does not mention fields `0`, `1`, `2`, `3` [E0027]
+    //~^ ERROR tuple variant `S` written as struct variant
         println!("hi");
     }
 }
diff --git a/src/test/ui/missing/missing-fields-in-struct-pattern.stderr b/src/test/ui/missing/missing-fields-in-struct-pattern.stderr
index f7037468996..6583524aad1 100644
--- a/src/test/ui/missing/missing-fields-in-struct-pattern.stderr
+++ b/src/test/ui/missing/missing-fields-in-struct-pattern.stderr
@@ -1,18 +1,9 @@
-error[E0026]: struct `S` does not have fields named `a`, `b`, `c`, `d`
-  --> $DIR/missing-fields-in-struct-pattern.rs:4:16
-   |
-LL |     if let S { a, b, c, d } = S(1, 2, 3, 4) {
-   |                ^  ^  ^  ^ struct `S` does not have these fields
-
-error[E0027]: pattern does not mention fields `0`, `1`, `2`, `3`
+error[E0769]: tuple variant `S` written as struct variant
   --> $DIR/missing-fields-in-struct-pattern.rs:4:12
    |
 LL |     if let S { a, b, c, d } = S(1, 2, 3, 4) {
-   |            ^^^^^^^^^^^^^^^^ missing fields `0`, `1`, `2`, `3`
-   |
-   = note: trying to match a tuple variant with a struct variant pattern
+   |            ^^^^^^^^^^^^^^^^ help: use the tuple variant pattern syntax instead: `S(a, b, c, d)`
 
-error: aborting due to 2 previous errors
+error: aborting due to previous error
 
-Some errors have detailed explanations: E0026, E0027.
-For more information about an error, try `rustc --explain E0026`.
+For more information about this error, try `rustc --explain E0769`.