about summary refs log tree commit diff
path: root/src/test/ui
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2022-11-22 10:17:09 +0000
committerbors <bors@rust-lang.org>2022-11-22 10:17:09 +0000
commitb7463e8bdb7b039e75241dcc4ea65bbd24d5c608 (patch)
tree837bf66b75c278b9baeb86df6ed75a3230f62fef /src/test/ui
parenta78c9bee4d9d51a3891bd8ecae1f28a93b83653b (diff)
parent7a5376d23cb3324edcfaa278a9387898960d5f7c (diff)
Auto merge of #103578 - petrochenkov:nofict, r=nagisa
Unreserve braced enum variants in value namespace

With this PR braced enum variants (`enum E { V { /*...*/ } }`) no longer take a slot in value namespace, so the special case mentioned in the note in https://github.com/rust-lang/rfcs/blob/master/text/1506-adt-kinds.md#braced-structs is removed.

Report - https://github.com/rust-lang/rust/pull/103578#issuecomment-1292594900.
Diffstat (limited to 'src/test/ui')
-rw-r--r--src/test/ui/empty/empty-struct-braces-expr.rs2
-rw-r--r--src/test/ui/empty/empty-struct-braces-expr.stderr32
-rw-r--r--src/test/ui/empty/empty-struct-braces-pat-1.stderr29
-rw-r--r--src/test/ui/empty/empty-struct-braces-pat-3.stderr58
-rw-r--r--src/test/ui/error-codes/E0164.stderr2
-rw-r--r--src/test/ui/issues/issue-19086.rs2
-rw-r--r--src/test/ui/issues/issue-19086.stderr2
-rw-r--r--src/test/ui/issues/issue-28992-empty.stderr2
-rw-r--r--src/test/ui/issues/issue-56835.stderr2
-rw-r--r--src/test/ui/issues/issue-63983.stderr10
-rw-r--r--src/test/ui/methods/method-path-in-pattern.stderr12
-rw-r--r--src/test/ui/namespace/namespace-mix.rs4
-rw-r--r--src/test/ui/namespace/namespace-mix.stderr20
-rw-r--r--src/test/ui/parser/recover-from-bad-variant.stderr11
-rw-r--r--src/test/ui/parser/struct-literal-variant-in-if.stderr9
-rw-r--r--src/test/ui/pattern/pattern-binding-disambiguation.rs4
-rw-r--r--src/test/ui/pattern/pattern-binding-disambiguation.stderr20
-rw-r--r--src/test/ui/qualified/qualified-path-params.stderr2
-rw-r--r--src/test/ui/resolve/issue-18252.rs2
-rw-r--r--src/test/ui/resolve/issue-18252.stderr9
-rw-r--r--src/test/ui/resolve/issue-19452.stderr18
-rw-r--r--src/test/ui/resolve/issue-73427.stderr22
-rw-r--r--src/test/ui/resolve/privacy-enum-ctor.stderr90
-rw-r--r--src/test/ui/suggestions/fn-or-tuple-struct-without-args.stderr28
-rw-r--r--src/test/ui/suggestions/issue-84700.stderr10
-rw-r--r--src/test/ui/type-alias-enum-variants/incorrect-variant-form-through-Self-issue-58006.stderr2
-rw-r--r--src/test/ui/type-alias-enum-variants/incorrect-variant-form-through-alias-caught.rs2
-rw-r--r--src/test/ui/type-alias-enum-variants/incorrect-variant-form-through-alias-caught.stderr10
28 files changed, 122 insertions, 294 deletions
diff --git a/src/test/ui/empty/empty-struct-braces-expr.rs b/src/test/ui/empty/empty-struct-braces-expr.rs
index f4144277f16..2aab3e7772c 100644
--- a/src/test/ui/empty/empty-struct-braces-expr.rs
+++ b/src/test/ui/empty/empty-struct-braces-expr.rs
@@ -17,7 +17,7 @@ fn main() {
     //~^ ERROR expected function, tuple struct or tuple variant, found struct `Empty1`
     let e3 = E::Empty3; //~ ERROR expected value, found struct variant `E::Empty3`
     let e3 = E::Empty3();
-    //~^ ERROR expected function, tuple struct or tuple variant, found struct variant `E::Empty3`
+    //~^ ERROR expected value, found struct variant `E::Empty3`
 
     let xe1 = XEmpty1; //~ ERROR expected value, found struct `XEmpty1`
     let xe1 = XEmpty1();
diff --git a/src/test/ui/empty/empty-struct-braces-expr.stderr b/src/test/ui/empty/empty-struct-braces-expr.stderr
index 5b0ca613fc4..e1a7a02a568 100644
--- a/src/test/ui/empty/empty-struct-braces-expr.stderr
+++ b/src/test/ui/empty/empty-struct-braces-expr.stderr
@@ -21,24 +21,6 @@ help: a unit struct with a similar name exists
 LL |     let e1 = XEmpty2;
    |              ~~~~~~~
 
-error[E0423]: expected value, found struct variant `E::Empty3`
-  --> $DIR/empty-struct-braces-expr.rs:18:14
-   |
-LL |     Empty3 {}
-   |     --------- `E::Empty3` defined here
-...
-LL |     let e3 = E::Empty3;
-   |              ^^^^^^^^^ help: use struct literal syntax instead: `E::Empty3 {}`
-
-error[E0423]: expected function, tuple struct or tuple variant, found struct variant `E::Empty3`
-  --> $DIR/empty-struct-braces-expr.rs:19:14
-   |
-LL |     Empty3 {}
-   |     --------- `E::Empty3` defined here
-...
-LL |     let e3 = E::Empty3();
-   |              ^^^^^^^^^^^ help: use struct literal syntax instead: `E::Empty3 {}`
-
 error[E0423]: expected value, found struct `XEmpty1`
   --> $DIR/empty-struct-braces-expr.rs:22:15
    |
@@ -84,6 +66,18 @@ help: a unit struct with a similar name exists
 LL |     let e1 = XEmpty2();
    |              ~~~~~~~
 
+error[E0533]: expected value, found struct variant `E::Empty3`
+  --> $DIR/empty-struct-braces-expr.rs:18:14
+   |
+LL |     let e3 = E::Empty3;
+   |              ^^^^^^^^^ not a value
+
+error[E0533]: expected value, found struct variant `E::Empty3`
+  --> $DIR/empty-struct-braces-expr.rs:19:14
+   |
+LL |     let e3 = E::Empty3();
+   |              ^^^^^^^^^ not a value
+
 error[E0423]: expected function, tuple struct or tuple variant, found struct `XEmpty1`
   --> $DIR/empty-struct-braces-expr.rs:23:15
    |
@@ -132,5 +126,5 @@ LL |     XE::Empty1 {};
 
 error: aborting due to 9 previous errors
 
-Some errors have detailed explanations: E0423, E0599.
+Some errors have detailed explanations: E0423, E0533, E0599.
 For more information about an error, try `rustc --explain E0423`.
diff --git a/src/test/ui/empty/empty-struct-braces-pat-1.stderr b/src/test/ui/empty/empty-struct-braces-pat-1.stderr
index 0215a9e5935..14e09fc27a0 100644
--- a/src/test/ui/empty/empty-struct-braces-pat-1.stderr
+++ b/src/test/ui/empty/empty-struct-braces-pat-1.stderr
@@ -1,34 +1,15 @@
-error[E0532]: expected unit struct, unit variant or constant, found struct variant `E::Empty3`
+error[E0533]: expected unit struct, unit variant or constant, found struct variant `E::Empty3`
   --> $DIR/empty-struct-braces-pat-1.rs:24:9
    |
-LL |     Empty3 {}
-   |     --------- `E::Empty3` defined here
-...
 LL |         E::Empty3 => ()
-   |         ^^^^^^^^^ help: use struct pattern syntax instead: `E::Empty3 {}`
+   |         ^^^^^^^^^ not a unit struct, unit variant or constant
 
-error[E0532]: expected unit struct, unit variant or constant, found struct variant `XE::XEmpty3`
+error[E0533]: expected unit struct, unit variant or constant, found struct variant `XE::XEmpty3`
   --> $DIR/empty-struct-braces-pat-1.rs:31:9
    |
 LL |         XE::XEmpty3 => ()
-   |         ^^^^^^^^^^^
-   |
-  ::: $DIR/auxiliary/empty-struct.rs:6:5
-   |
-LL |     XEmpty3 {},
-   |     ------- `XE::XEmpty3` defined here
-LL |     XEmpty4,
-   |     ------- similarly named unit variant `XEmpty4` defined here
-   |
-help: use struct pattern syntax instead
-   |
-LL |         XE::XEmpty3 { /* fields */ } => ()
-   |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-help: a unit variant with a similar name exists
-   |
-LL |         XE::XEmpty4 => ()
-   |             ~~~~~~~
+   |         ^^^^^^^^^^^ not a unit struct, unit variant or constant
 
 error: aborting due to 2 previous errors
 
-For more information about this error, try `rustc --explain E0532`.
+For more information about this error, try `rustc --explain E0533`.
diff --git a/src/test/ui/empty/empty-struct-braces-pat-3.stderr b/src/test/ui/empty/empty-struct-braces-pat-3.stderr
index 615e7fb4aae..00c8b12e6f9 100644
--- a/src/test/ui/empty/empty-struct-braces-pat-3.stderr
+++ b/src/test/ui/empty/empty-struct-braces-pat-3.stderr
@@ -1,67 +1,27 @@
-error[E0532]: expected tuple struct or tuple variant, found struct variant `E::Empty3`
+error[E0164]: expected tuple struct or tuple variant, found struct variant `E::Empty3`
   --> $DIR/empty-struct-braces-pat-3.rs:17:9
    |
-LL |     Empty3 {}
-   |     --------- `E::Empty3` defined here
-...
 LL |         E::Empty3() => ()
-   |         ^^^^^^^^^^^ help: use struct pattern syntax instead: `E::Empty3 {}`
+   |         ^^^^^^^^^^^ not a tuple struct or tuple variant
 
-error[E0532]: expected tuple struct or tuple variant, found struct variant `XE::XEmpty3`
+error[E0164]: expected tuple struct or tuple variant, found struct variant `XE::XEmpty3`
   --> $DIR/empty-struct-braces-pat-3.rs:21:9
    |
 LL |         XE::XEmpty3() => ()
-   |         ^^^^^^^^^^^^^
-   |
-  ::: $DIR/auxiliary/empty-struct.rs:6:5
-   |
-LL |     XEmpty3 {},
-   |     ------- `XE::XEmpty3` defined here
-LL |     XEmpty4,
-LL |     XEmpty5(),
-   |     ------- similarly named tuple variant `XEmpty5` defined here
-   |
-help: use struct pattern syntax instead
-   |
-LL |         XE::XEmpty3 { /* fields */ } => ()
-   |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-help: a tuple variant with a similar name exists
-   |
-LL |         XE::XEmpty5() => ()
-   |             ~~~~~~~
+   |         ^^^^^^^^^^^^^ not a tuple struct or tuple variant
 
-error[E0532]: expected tuple struct or tuple variant, found struct variant `E::Empty3`
+error[E0164]: expected tuple struct or tuple variant, found struct variant `E::Empty3`
   --> $DIR/empty-struct-braces-pat-3.rs:25:9
    |
-LL |     Empty3 {}
-   |     --------- `E::Empty3` defined here
-...
 LL |         E::Empty3(..) => ()
-   |         ^^^^^^^^^^^^^ help: use struct pattern syntax instead: `E::Empty3 {}`
+   |         ^^^^^^^^^^^^^ not a tuple struct or tuple variant
 
-error[E0532]: expected tuple struct or tuple variant, found struct variant `XE::XEmpty3`
+error[E0164]: expected tuple struct or tuple variant, found struct variant `XE::XEmpty3`
   --> $DIR/empty-struct-braces-pat-3.rs:29:9
    |
 LL |         XE::XEmpty3(..) => ()
-   |         ^^^^^^^^^^^^^^^
-   |
-  ::: $DIR/auxiliary/empty-struct.rs:6:5
-   |
-LL |     XEmpty3 {},
-   |     ------- `XE::XEmpty3` defined here
-LL |     XEmpty4,
-LL |     XEmpty5(),
-   |     ------- similarly named tuple variant `XEmpty5` defined here
-   |
-help: use struct pattern syntax instead
-   |
-LL |         XE::XEmpty3 { /* fields */ } => ()
-   |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-help: a tuple variant with a similar name exists
-   |
-LL |         XE::XEmpty5(..) => ()
-   |             ~~~~~~~
+   |         ^^^^^^^^^^^^^^^ not a tuple struct or tuple variant
 
 error: aborting due to 4 previous errors
 
-For more information about this error, try `rustc --explain E0532`.
+For more information about this error, try `rustc --explain E0164`.
diff --git a/src/test/ui/error-codes/E0164.stderr b/src/test/ui/error-codes/E0164.stderr
index 0db89dfec84..5a80d6ec31a 100644
--- a/src/test/ui/error-codes/E0164.stderr
+++ b/src/test/ui/error-codes/E0164.stderr
@@ -2,7 +2,7 @@ error[E0164]: expected tuple struct or tuple variant, found associated constant
   --> $DIR/E0164.rs:9:9
    |
 LL |         Foo::B(i) => i,
-   |         ^^^^^^^^^ not a tuple variant or struct
+   |         ^^^^^^^^^ not a tuple struct or tuple variant
 
 error: aborting due to previous error
 
diff --git a/src/test/ui/issues/issue-19086.rs b/src/test/ui/issues/issue-19086.rs
index cc83874cb16..42148c5f5a1 100644
--- a/src/test/ui/issues/issue-19086.rs
+++ b/src/test/ui/issues/issue-19086.rs
@@ -8,6 +8,6 @@ fn main() {
     let f = FooB { x: 3, y: 4 };
     match f {
         FooB(a, b) => println!("{} {}", a, b),
-        //~^ ERROR expected tuple struct or tuple variant, found struct variant `FooB`
+        //~^ ERROR expected tuple struct or tuple variant, found variant `FooB`
     }
 }
diff --git a/src/test/ui/issues/issue-19086.stderr b/src/test/ui/issues/issue-19086.stderr
index a54f1008e4b..a3c06a72511 100644
--- a/src/test/ui/issues/issue-19086.stderr
+++ b/src/test/ui/issues/issue-19086.stderr
@@ -1,4 +1,4 @@
-error[E0532]: expected tuple struct or tuple variant, found struct variant `FooB`
+error[E0532]: expected tuple struct or tuple variant, found variant `FooB`
   --> $DIR/issue-19086.rs:10:9
    |
 LL |     FooB { x: i32, y: i32 }
diff --git a/src/test/ui/issues/issue-28992-empty.stderr b/src/test/ui/issues/issue-28992-empty.stderr
index 71f337278f2..f69773b8c2b 100644
--- a/src/test/ui/issues/issue-28992-empty.stderr
+++ b/src/test/ui/issues/issue-28992-empty.stderr
@@ -8,7 +8,7 @@ error[E0164]: expected tuple struct or tuple variant, found associated constant
   --> $DIR/issue-28992-empty.rs:14:12
    |
 LL |     if let S::C2(..) = 0 {}
-   |            ^^^^^^^^^ not a tuple variant or struct
+   |            ^^^^^^^^^ not a tuple struct or tuple variant
 
 error: aborting due to 2 previous errors
 
diff --git a/src/test/ui/issues/issue-56835.stderr b/src/test/ui/issues/issue-56835.stderr
index c200ba8d52a..e949ae7b324 100644
--- a/src/test/ui/issues/issue-56835.stderr
+++ b/src/test/ui/issues/issue-56835.stderr
@@ -8,7 +8,7 @@ error[E0164]: expected tuple struct or tuple variant, found self constructor `Se
   --> $DIR/issue-56835.rs:4:12
    |
 LL |     fn bar(Self(foo): Self) {}
-   |            ^^^^^^^^^ not a tuple variant or struct
+   |            ^^^^^^^^^ not a tuple struct or tuple variant
 
 error: aborting due to 2 previous errors
 
diff --git a/src/test/ui/issues/issue-63983.stderr b/src/test/ui/issues/issue-63983.stderr
index eb042834102..f90c8111626 100644
--- a/src/test/ui/issues/issue-63983.stderr
+++ b/src/test/ui/issues/issue-63983.stderr
@@ -7,15 +7,13 @@ LL |     Tuple(i32),
 LL |         MyEnum::Tuple => "",
    |         ^^^^^^^^^^^^^ help: use the tuple variant pattern syntax instead: `MyEnum::Tuple(_)`
 
-error[E0532]: expected unit struct, unit variant or constant, found struct variant `MyEnum::Struct`
+error[E0533]: expected unit struct, unit variant or constant, found struct variant `MyEnum::Struct`
   --> $DIR/issue-63983.rs:10:9
    |
-LL |     Struct{ s: i32 },
-   |     ---------------- `MyEnum::Struct` defined here
-...
 LL |         MyEnum::Struct => "",
-   |         ^^^^^^^^^^^^^^ help: use struct pattern syntax instead: `MyEnum::Struct { s }`
+   |         ^^^^^^^^^^^^^^ not a unit struct, unit variant or constant
 
 error: aborting due to 2 previous errors
 
-For more information about this error, try `rustc --explain E0532`.
+Some errors have detailed explanations: E0532, E0533.
+For more information about an error, try `rustc --explain E0532`.
diff --git a/src/test/ui/methods/method-path-in-pattern.stderr b/src/test/ui/methods/method-path-in-pattern.stderr
index 1d1bdb6b052..63c7abe0e4a 100644
--- a/src/test/ui/methods/method-path-in-pattern.stderr
+++ b/src/test/ui/methods/method-path-in-pattern.stderr
@@ -2,37 +2,37 @@ error[E0533]: expected unit struct, unit variant or constant, found associated f
   --> $DIR/method-path-in-pattern.rs:15:9
    |
 LL |         Foo::bar => {}
-   |         ^^^^^^^^
+   |         ^^^^^^^^ not a unit struct, unit variant or constant
 
 error[E0533]: expected unit struct, unit variant or constant, found associated function `Foo::bar`
   --> $DIR/method-path-in-pattern.rs:19:9
    |
 LL |         <Foo>::bar => {}
-   |         ^^^^^^^^^^
+   |         ^^^^^^^^^^ not a unit struct, unit variant or constant
 
 error[E0533]: expected unit struct, unit variant or constant, found associated function `Foo::trait_bar`
   --> $DIR/method-path-in-pattern.rs:23:9
    |
 LL |         <Foo>::trait_bar => {}
-   |         ^^^^^^^^^^^^^^^^
+   |         ^^^^^^^^^^^^^^^^ not a unit struct, unit variant or constant
 
 error[E0533]: expected unit struct, unit variant or constant, found associated function `Foo::bar`
   --> $DIR/method-path-in-pattern.rs:26:12
    |
 LL |     if let Foo::bar = 0u32 {}
-   |            ^^^^^^^^
+   |            ^^^^^^^^ not a unit struct, unit variant or constant
 
 error[E0533]: expected unit struct, unit variant or constant, found associated function `Foo::bar`
   --> $DIR/method-path-in-pattern.rs:28:12
    |
 LL |     if let <Foo>::bar = 0u32 {}
-   |            ^^^^^^^^^^
+   |            ^^^^^^^^^^ not a unit struct, unit variant or constant
 
 error[E0533]: expected unit struct, unit variant or constant, found associated function `Foo::trait_bar`
   --> $DIR/method-path-in-pattern.rs:30:12
    |
 LL |     if let Foo::trait_bar = 0u32 {}
-   |            ^^^^^^^^^^^^^^
+   |            ^^^^^^^^^^^^^^ not a unit struct, unit variant or constant
 
 error: aborting due to 6 previous errors
 
diff --git a/src/test/ui/namespace/namespace-mix.rs b/src/test/ui/namespace/namespace-mix.rs
index b0f7e3c6225..c5b30f148bd 100644
--- a/src/test/ui/namespace/namespace-mix.rs
+++ b/src/test/ui/namespace/namespace-mix.rs
@@ -97,13 +97,13 @@ mod m8 {
 
 fn f78() {
     check(m7::V{}); //~ ERROR c::Item
-    check(m7::V); //~ ERROR expected value, found struct variant `m7::V`
+    check(m7::V); //~ ERROR expected value, found type alias `m7::V`
     check(m8::V{}); //~ ERROR c::E
     check(m8::V); //~ ERROR c::Item
 }
 fn xf78() {
     check(xm7::V{}); //~ ERROR c::Item
-    check(xm7::V); //~ ERROR expected value, found struct variant `xm7::V`
+    check(xm7::V); //~ ERROR expected value, found type alias `xm7::V`
     check(xm8::V{}); //~ ERROR c::E
     check(xm8::V); //~ ERROR c::Item
 }
diff --git a/src/test/ui/namespace/namespace-mix.stderr b/src/test/ui/namespace/namespace-mix.stderr
index c07914df727..cb72d4a1c42 100644
--- a/src/test/ui/namespace/namespace-mix.stderr
+++ b/src/test/ui/namespace/namespace-mix.stderr
@@ -52,21 +52,16 @@ LL -     check(xm1::S);
 LL +     check(S);
    |
 
-error[E0423]: expected value, found struct variant `m7::V`
+error[E0423]: expected value, found type alias `m7::V`
   --> $DIR/namespace-mix.rs:100:11
    |
-LL |         V {},
-   |         ---- `m7::V` defined here
 LL |         TV(),
    |         ---- similarly named tuple variant `TV` defined here
 ...
 LL |     check(m7::V);
    |           ^^^^^
    |
-help: use struct literal syntax instead
-   |
-LL |     check(m7::V {});
-   |           ~~~~~~~~
+   = note: can't use a type alias as a constructor
 help: a tuple variant with a similar name exists
    |
 LL |     check(m7::TV);
@@ -83,23 +78,18 @@ LL -     check(m7::V);
 LL +     check(V);
    |
 
-error[E0423]: expected value, found struct variant `xm7::V`
+error[E0423]: expected value, found type alias `xm7::V`
   --> $DIR/namespace-mix.rs:106:11
    |
 LL |     check(xm7::V);
    |           ^^^^^^
    |
-  ::: $DIR/auxiliary/namespace-mix.rs:6:9
+  ::: $DIR/auxiliary/namespace-mix.rs:7:9
    |
-LL |         V {},
-   |         - `xm7::V` defined here
 LL |         TV(),
    |         -- similarly named tuple variant `TV` defined here
    |
-help: use struct literal syntax instead
-   |
-LL |     check(xm7::V { /* fields */ });
-   |           ~~~~~~~~~~~~~~~~~~~~~~~
+   = note: can't use a type alias as a constructor
 help: a tuple variant with a similar name exists
    |
 LL |     check(xm7::TV);
diff --git a/src/test/ui/parser/recover-from-bad-variant.stderr b/src/test/ui/parser/recover-from-bad-variant.stderr
index 483312c16cc..04968bbdf99 100644
--- a/src/test/ui/parser/recover-from-bad-variant.stderr
+++ b/src/test/ui/parser/recover-from-bad-variant.stderr
@@ -14,14 +14,11 @@ LL -     let x = Enum::Foo(a: 3, b: 4);
 LL +     let x = Enum::Foo(3, 4);
    |
 
-error[E0532]: expected tuple struct or tuple variant, found struct variant `Enum::Foo`
+error[E0164]: expected tuple struct or tuple variant, found struct variant `Enum::Foo`
   --> $DIR/recover-from-bad-variant.rs:10:9
    |
-LL |     Foo { a: usize, b: usize },
-   |     -------------------------- `Enum::Foo` defined here
-...
 LL |         Enum::Foo(a, b) => {}
-   |         ^^^^^^^^^^^^^^^ help: use struct pattern syntax instead: `Enum::Foo { a, b }`
+   |         ^^^^^^^^^^^^^^^ not a tuple struct or tuple variant
 
 error[E0769]: tuple variant `Enum::Bar` written as struct variant
   --> $DIR/recover-from-bad-variant.rs:12:9
@@ -36,5 +33,5 @@ LL |         Enum::Bar(a, b) => {}
 
 error: aborting due to 3 previous errors
 
-Some errors have detailed explanations: E0532, E0769.
-For more information about an error, try `rustc --explain E0532`.
+Some errors have detailed explanations: E0164, E0769.
+For more information about an error, try `rustc --explain E0164`.
diff --git a/src/test/ui/parser/struct-literal-variant-in-if.stderr b/src/test/ui/parser/struct-literal-variant-in-if.stderr
index 4cffbe433b8..9f0c0074d67 100644
--- a/src/test/ui/parser/struct-literal-variant-in-if.stderr
+++ b/src/test/ui/parser/struct-literal-variant-in-if.stderr
@@ -42,16 +42,11 @@ help: surround the struct literal with parentheses
 LL |     if x == (E::K { field: "" }) {}
    |             +                  +
 
-error[E0423]: expected value, found struct variant `E::V`
+error[E0533]: expected value, found struct variant `E::V`
   --> $DIR/struct-literal-variant-in-if.rs:10:13
    |
 LL |     if x == E::V { field } {}
    |             ^^^^ not a value
-   |
-help: surround the struct literal with parentheses
-   |
-LL |     if x == (E::V { field }) {}
-   |             +              +
 
 error[E0308]: mismatched types
   --> $DIR/struct-literal-variant-in-if.rs:10:20
@@ -72,5 +67,5 @@ LL |     let y: usize = ();
 
 error: aborting due to 7 previous errors
 
-Some errors have detailed explanations: E0308, E0423.
+Some errors have detailed explanations: E0308, E0533.
 For more information about an error, try `rustc --explain E0308`.
diff --git a/src/test/ui/pattern/pattern-binding-disambiguation.rs b/src/test/ui/pattern/pattern-binding-disambiguation.rs
index 2e80ea345dc..ce1d8c6c047 100644
--- a/src/test/ui/pattern/pattern-binding-disambiguation.rs
+++ b/src/test/ui/pattern/pattern-binding-disambiguation.rs
@@ -33,7 +33,7 @@ fn main() {
         TupleVariant => {} //~ ERROR match bindings cannot shadow tuple variants
     }
     match doesnt_matter {
-        BracedVariant => {} //~ ERROR match bindings cannot shadow struct variants
+        BracedVariant => {} // OK, `BracedVariant` is a fresh binding
     }
     match CONST {
         CONST => {} // OK, `CONST` is a const pattern
@@ -50,7 +50,7 @@ fn main() {
     let BracedStruct = doesnt_matter; // OK, `BracedStruct` is a fresh binding
     let UnitVariant = UnitVariant; // OK, `UnitVariant` is a unit variant pattern
     let TupleVariant = doesnt_matter; //~ ERROR let bindings cannot shadow tuple variants
-    let BracedVariant = doesnt_matter; //~ ERROR let bindings cannot shadow struct variants
+    let BracedVariant = doesnt_matter; // OK, `BracedVariant` is a fresh binding
     let CONST = CONST; // OK, `CONST` is a const pattern
     let STATIC = doesnt_matter; //~ ERROR let bindings cannot shadow statics
     let function = doesnt_matter; // OK, `function` is a fresh binding
diff --git a/src/test/ui/pattern/pattern-binding-disambiguation.stderr b/src/test/ui/pattern/pattern-binding-disambiguation.stderr
index 1529e538b55..d54467b3c0c 100644
--- a/src/test/ui/pattern/pattern-binding-disambiguation.stderr
+++ b/src/test/ui/pattern/pattern-binding-disambiguation.stderr
@@ -22,15 +22,6 @@ LL |         TupleVariant => {}
    |         cannot be named the same as a tuple variant
    |         help: try specify the pattern arguments: `TupleVariant(..)`
 
-error[E0530]: match bindings cannot shadow struct variants
-  --> $DIR/pattern-binding-disambiguation.rs:36:9
-   |
-LL | use E::*;
-   |     ---- the struct variant `BracedVariant` is imported here
-...
-LL |         BracedVariant => {}
-   |         ^^^^^^^^^^^^^ cannot be named the same as a struct variant
-
 error[E0530]: match bindings cannot shadow statics
   --> $DIR/pattern-binding-disambiguation.rs:42:9
    |
@@ -58,15 +49,6 @@ LL | use E::*;
 LL |     let TupleVariant = doesnt_matter;
    |         ^^^^^^^^^^^^ cannot be named the same as a tuple variant
 
-error[E0530]: let bindings cannot shadow struct variants
-  --> $DIR/pattern-binding-disambiguation.rs:53:9
-   |
-LL | use E::*;
-   |     ---- the struct variant `BracedVariant` is imported here
-...
-LL |     let BracedVariant = doesnt_matter;
-   |         ^^^^^^^^^^^^^ cannot be named the same as a struct variant
-
 error[E0530]: let bindings cannot shadow statics
   --> $DIR/pattern-binding-disambiguation.rs:55:9
    |
@@ -76,6 +58,6 @@ LL | static STATIC: () = ();
 LL |     let STATIC = doesnt_matter;
    |         ^^^^^^ cannot be named the same as a static
 
-error: aborting due to 8 previous errors
+error: aborting due to 6 previous errors
 
 For more information about this error, try `rustc --explain E0530`.
diff --git a/src/test/ui/qualified/qualified-path-params.stderr b/src/test/ui/qualified/qualified-path-params.stderr
index 82cc6e19f9d..a49ed6c8f60 100644
--- a/src/test/ui/qualified/qualified-path-params.stderr
+++ b/src/test/ui/qualified/qualified-path-params.stderr
@@ -2,7 +2,7 @@ error[E0533]: expected unit struct, unit variant or constant, found associated f
   --> $DIR/qualified-path-params.rs:20:9
    |
 LL |         <S as Tr>::A::f::<u8> => {}
-   |         ^^^^^^^^^^^^^^^^^^^^^
+   |         ^^^^^^^^^^^^^^^^^^^^^ not a unit struct, unit variant or constant
 
 error[E0029]: only `char` and numeric types are allowed in range patterns
   --> $DIR/qualified-path-params.rs:22:15
diff --git a/src/test/ui/resolve/issue-18252.rs b/src/test/ui/resolve/issue-18252.rs
index af0a3cbcb2d..f6ebe292076 100644
--- a/src/test/ui/resolve/issue-18252.rs
+++ b/src/test/ui/resolve/issue-18252.rs
@@ -4,5 +4,5 @@ enum Foo {
 
 fn main() {
     let f = Foo::Variant(42);
-    //~^ ERROR expected function, tuple struct or tuple variant, found struct variant `Foo::Variant`
+    //~^ ERROR expected value, found struct variant `Foo::Variant`
 }
diff --git a/src/test/ui/resolve/issue-18252.stderr b/src/test/ui/resolve/issue-18252.stderr
index 13e7a59732d..d9006c0a6c2 100644
--- a/src/test/ui/resolve/issue-18252.stderr
+++ b/src/test/ui/resolve/issue-18252.stderr
@@ -1,12 +1,9 @@
-error[E0423]: expected function, tuple struct or tuple variant, found struct variant `Foo::Variant`
+error[E0533]: expected value, found struct variant `Foo::Variant`
   --> $DIR/issue-18252.rs:6:13
    |
-LL |     Variant { x: usize }
-   |     -------------------- `Foo::Variant` defined here
-...
 LL |     let f = Foo::Variant(42);
-   |             ^^^^^^^^^^^^^^^^ help: use struct literal syntax instead: `Foo::Variant { x: val }`
+   |             ^^^^^^^^^^^^ not a value
 
 error: aborting due to previous error
 
-For more information about this error, try `rustc --explain E0423`.
+For more information about this error, try `rustc --explain E0533`.
diff --git a/src/test/ui/resolve/issue-19452.stderr b/src/test/ui/resolve/issue-19452.stderr
index 8df84067e67..eff89241fd2 100644
--- a/src/test/ui/resolve/issue-19452.stderr
+++ b/src/test/ui/resolve/issue-19452.stderr
@@ -1,23 +1,15 @@
-error[E0423]: expected value, found struct variant `Homura::Madoka`
+error[E0533]: expected value, found struct variant `Homura::Madoka`
   --> $DIR/issue-19452.rs:10:18
    |
-LL |     Madoka { age: u32 }
-   |     ------------------- `Homura::Madoka` defined here
-...
 LL |     let homura = Homura::Madoka;
-   |                  ^^^^^^^^^^^^^^ help: use struct literal syntax instead: `Homura::Madoka { age: val }`
+   |                  ^^^^^^^^^^^^^^ not a value
 
-error[E0423]: expected value, found struct variant `issue_19452_aux::Homura::Madoka`
+error[E0533]: expected value, found struct variant `issue_19452_aux::Homura::Madoka`
   --> $DIR/issue-19452.rs:13:18
    |
 LL |     let homura = issue_19452_aux::Homura::Madoka;
-   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use struct literal syntax instead: `issue_19452_aux::Homura::Madoka { /* fields */ }`
-   |
-  ::: $DIR/auxiliary/issue-19452-aux.rs:2:5
-   |
-LL |     Madoka { age: u32 }
-   |     ------ `issue_19452_aux::Homura::Madoka` defined here
+   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not a value
 
 error: aborting due to 2 previous errors
 
-For more information about this error, try `rustc --explain E0423`.
+For more information about this error, try `rustc --explain E0533`.
diff --git a/src/test/ui/resolve/issue-73427.stderr b/src/test/ui/resolve/issue-73427.stderr
index d31c5e47775..4af5f29d809 100644
--- a/src/test/ui/resolve/issue-73427.stderr
+++ b/src/test/ui/resolve/issue-73427.stderr
@@ -17,16 +17,12 @@ LL | | }
    | |_^
 help: you might have meant to use one of the following enum variants
    |
-LL |     (A::Struct {}).foo();
-   |     ~~~~~~~~~~~~~~
 LL |     (A::Tuple()).foo();
    |     ~~~~~~~~~~~~
 LL |     A::Unit.foo();
    |     ~~~~~~~
-help: alternatively, the following enum variants are also available
+help: alternatively, the following enum variant is available
    |
-LL |     (A::StructWithFields { /* fields */ }).foo();
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 LL |     (A::TupleWithFields(/* fields */)).foo();
    |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -34,7 +30,7 @@ error[E0423]: expected value, found enum `B`
   --> $DIR/issue-73427.rs:35:5
    |
 LL |     B.foo();
-   |     ^
+   |     ^ help: the following enum variant is available: `(B::TupleWithFields(/* fields */))`
    |
 note: the enum is defined here
   --> $DIR/issue-73427.rs:9:1
@@ -44,12 +40,6 @@ LL | |     StructWithFields { x: () },
 LL | |     TupleWithFields(()),
 LL | | }
    | |_^
-help: the following enum variants are available
-   |
-LL |     (B::StructWithFields { /* fields */ }).foo();
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-LL |     (B::TupleWithFields(/* fields */)).foo();
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 error[E0423]: expected value, found enum `C`
   --> $DIR/issue-73427.rs:37:5
@@ -70,10 +60,8 @@ help: you might have meant to use the following enum variant
    |
 LL |     C::Unit.foo();
    |     ~~~~~~~
-help: alternatively, the following enum variants are also available
+help: alternatively, the following enum variant is available
    |
-LL |     (C::StructWithFields { /* fields */ }).foo();
-   |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 LL |     (C::TupleWithFields(/* fields */)).foo();
    |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -130,7 +118,7 @@ error[E0532]: expected tuple struct or tuple variant, found enum `A`
 LL |     if let A(3) = x { }
    |            ^
    |
-   = help: you might have meant to match against one of the enum's non-tuple variants
+   = help: you might have meant to match against the enum's non-tuple variant
 note: the enum is defined here
   --> $DIR/issue-73427.rs:1:1
    |
@@ -155,7 +143,7 @@ error[E0423]: expected function, tuple struct or tuple variant, found enum `A`
 LL |     let x = A(3);
    |             ^
    |
-   = help: you might have meant to construct one of the enum's non-tuple variants
+   = help: you might have meant to construct the enum's non-tuple variant
 note: the enum is defined here
   --> $DIR/issue-73427.rs:1:1
    |
diff --git a/src/test/ui/resolve/privacy-enum-ctor.stderr b/src/test/ui/resolve/privacy-enum-ctor.stderr
index 82a4211f08a..d734fa76b4a 100644
--- a/src/test/ui/resolve/privacy-enum-ctor.stderr
+++ b/src/test/ui/resolve/privacy-enum-ctor.stderr
@@ -19,12 +19,10 @@ help: you might have meant to use the following enum variant
    |
 LL |         m::Z::Unit;
    |         ~~~~~~~~~~
-help: alternatively, the following enum variants are also available
+help: alternatively, the following enum variant is available
    |
 LL |         (m::Z::Fn(/* fields */));
    |         ~~~~~~~~~~~~~~~~~~~~~~~~
-LL |         (m::Z::Struct { /* fields */ });
-   |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 error[E0423]: expected value, found enum `Z`
   --> $DIR/privacy-enum-ctor.rs:25:9
@@ -47,23 +45,10 @@ help: you might have meant to use the following enum variant
    |
 LL |         m::Z::Unit;
    |         ~~~~~~~~~~
-help: alternatively, the following enum variants are also available
+help: alternatively, the following enum variant is available
    |
 LL |         (m::Z::Fn(/* fields */));
    |         ~~~~~~~~~~~~~~~~~~~~~~~~
-LL |         (m::Z::Struct { /* fields */ });
-   |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-error[E0423]: expected value, found struct variant `Z::Struct`
-  --> $DIR/privacy-enum-ctor.rs:29:20
-   |
-LL | /             Struct {
-LL | |                 s: u8,
-LL | |             },
-   | |_____________- `Z::Struct` defined here
-...
-LL |           let _: Z = Z::Struct;
-   |                      ^^^^^^^^^ help: use struct literal syntax instead: `Z::Struct { s: val }`
 
 error[E0423]: expected value, found enum `m::E`
   --> $DIR/privacy-enum-ctor.rs:41:16
@@ -89,12 +74,10 @@ help: you might have meant to use the following enum variant
    |
 LL |     let _: E = E::Unit;
    |                ~~~~~~~
-help: alternatively, the following enum variants are also available
+help: alternatively, the following enum variant is available
    |
 LL |     let _: E = (E::Fn(/* fields */));
    |                ~~~~~~~~~~~~~~~~~~~~~
-LL |     let _: E = (E::Struct { /* fields */ });
-   |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 help: a function with a similar name exists
    |
 LL |     let _: E = m::f;
@@ -111,17 +94,6 @@ LL -     let _: E = m::E;
 LL +     let _: E = E;
    |
 
-error[E0423]: expected value, found struct variant `m::E::Struct`
-  --> $DIR/privacy-enum-ctor.rs:45:16
-   |
-LL | /         Struct {
-LL | |             s: u8,
-LL | |         },
-   | |_________- `m::E::Struct` defined here
-...
-LL |       let _: E = m::E::Struct;
-   |                  ^^^^^^^^^^^^ help: use struct literal syntax instead: `m::E::Struct { s: val }`
-
 error[E0423]: expected value, found enum `E`
   --> $DIR/privacy-enum-ctor.rs:49:16
    |
@@ -143,12 +115,10 @@ help: you might have meant to use the following enum variant
    |
 LL |     let _: E = E::Unit;
    |                ~~~~~~~
-help: alternatively, the following enum variants are also available
+help: alternatively, the following enum variant is available
    |
 LL |     let _: E = (E::Fn(/* fields */));
    |                ~~~~~~~~~~~~~~~~~~~~~
-LL |     let _: E = (E::Struct { /* fields */ });
-   |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 help: consider importing one of these items instead
    |
 LL | use std::f32::consts::E;
@@ -156,17 +126,6 @@ LL | use std::f32::consts::E;
 LL | use std::f64::consts::E;
    |
 
-error[E0423]: expected value, found struct variant `E::Struct`
-  --> $DIR/privacy-enum-ctor.rs:53:16
-   |
-LL | /         Struct {
-LL | |             s: u8,
-LL | |         },
-   | |_________- `E::Struct` defined here
-...
-LL |       let _: E = E::Struct;
-   |                  ^^^^^^^^^ help: use struct literal syntax instead: `E::Struct { s: val }`
-
 error[E0412]: cannot find type `Z` in this scope
   --> $DIR/privacy-enum-ctor.rs:57:12
    |
@@ -203,12 +162,10 @@ help: you might have meant to use the following enum variant
    |
 LL |     let _: Z = m::Z::Unit;
    |                ~~~~~~~~~~
-help: alternatively, the following enum variants are also available
+help: alternatively, the following enum variant is available
    |
 LL |     let _: Z = (m::Z::Fn(/* fields */));
    |                ~~~~~~~~~~~~~~~~~~~~~~~~
-LL |     let _: Z = (m::Z::Struct { /* fields */ });
-   |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 error[E0412]: cannot find type `Z` in this scope
   --> $DIR/privacy-enum-ctor.rs:61:12
@@ -240,17 +197,6 @@ note: enum `m::Z` exists but is inaccessible
 LL |         pub(in m) enum Z {
    |         ^^^^^^^^^^^^^^^^ not accessible
 
-error[E0423]: expected value, found struct variant `m::n::Z::Struct`
-  --> $DIR/privacy-enum-ctor.rs:64:16
-   |
-LL | /             Struct {
-LL | |                 s: u8,
-LL | |             },
-   | |_____________- `m::n::Z::Struct` defined here
-...
-LL |       let _: Z = m::n::Z::Struct;
-   |                  ^^^^^^^^^^^^^^^ help: use struct literal syntax instead: `m::n::Z::Struct { s: val }`
-
 error[E0412]: cannot find type `Z` in this scope
   --> $DIR/privacy-enum-ctor.rs:68:12
    |
@@ -332,6 +278,12 @@ help: use parentheses to construct this tuple variant
 LL |         let _: Z = Z::Fn(/* u8 */);
    |                         ++++++++++
 
+error[E0533]: expected value, found struct variant `Z::Struct`
+  --> $DIR/privacy-enum-ctor.rs:29:20
+   |
+LL |         let _: Z = Z::Struct;
+   |                    ^^^^^^^^^ not a value
+
 error[E0618]: expected function, found enum variant `Z::Unit`
   --> $DIR/privacy-enum-ctor.rs:31:17
    |
@@ -367,6 +319,12 @@ help: use parentheses to construct this tuple variant
 LL |     let _: E = m::E::Fn(/* u8 */);
    |                        ++++++++++
 
+error[E0533]: expected value, found struct variant `m::E::Struct`
+  --> $DIR/privacy-enum-ctor.rs:45:16
+   |
+LL |     let _: E = m::E::Struct;
+   |                ^^^^^^^^^^^^ not a value
+
 error[E0618]: expected function, found enum variant `m::E::Unit`
   --> $DIR/privacy-enum-ctor.rs:47:16
    |
@@ -402,6 +360,12 @@ help: use parentheses to construct this tuple variant
 LL |     let _: E = E::Fn(/* u8 */);
    |                     ++++++++++
 
+error[E0533]: expected value, found struct variant `E::Struct`
+  --> $DIR/privacy-enum-ctor.rs:53:16
+   |
+LL |     let _: E = E::Struct;
+   |                ^^^^^^^^^ not a value
+
 error[E0618]: expected function, found enum variant `E::Unit`
   --> $DIR/privacy-enum-ctor.rs:55:16
    |
@@ -419,7 +383,13 @@ LL -     let _: E = E::Unit();
 LL +     let _: E = E::Unit;
    |
 
+error[E0533]: expected value, found struct variant `m::n::Z::Struct`
+  --> $DIR/privacy-enum-ctor.rs:64:16
+   |
+LL |     let _: Z = m::n::Z::Struct;
+   |                ^^^^^^^^^^^^^^^ not a value
+
 error: aborting due to 23 previous errors
 
-Some errors have detailed explanations: E0308, E0412, E0423, E0603, E0618.
+Some errors have detailed explanations: E0308, E0412, E0423, E0533, E0603, E0618.
 For more information about an error, try `rustc --explain E0308`.
diff --git a/src/test/ui/suggestions/fn-or-tuple-struct-without-args.stderr b/src/test/ui/suggestions/fn-or-tuple-struct-without-args.stderr
index 597dc61c3f7..d0ddb34d9fe 100644
--- a/src/test/ui/suggestions/fn-or-tuple-struct-without-args.stderr
+++ b/src/test/ui/suggestions/fn-or-tuple-struct-without-args.stderr
@@ -1,23 +1,3 @@
-error[E0423]: expected value, found struct variant `E::B`
-  --> $DIR/fn-or-tuple-struct-without-args.rs:36:16
-   |
-LL |     A(usize),
-   |     -------- similarly named tuple variant `A` defined here
-LL |     B { a: usize },
-   |     -------------- `E::B` defined here
-...
-LL |     let _: E = E::B;
-   |                ^^^^
-   |
-help: use struct literal syntax instead
-   |
-LL |     let _: E = E::B { a: val };
-   |                ~~~~~~~~~~~~~~~
-help: a tuple variant with a similar name exists
-   |
-LL |     let _: E = E::A;
-   |                   ~
-
 error[E0308]: mismatched types
   --> $DIR/fn-or-tuple-struct-without-args.rs:29:20
    |
@@ -144,6 +124,12 @@ help: use parentheses to construct this tuple variant
 LL |     let _: E = E::A(/* usize */);
    |                    +++++++++++++
 
+error[E0533]: expected value, found struct variant `E::B`
+  --> $DIR/fn-or-tuple-struct-without-args.rs:36:16
+   |
+LL |     let _: E = E::B;
+   |                ^^^^ not a value
+
 error[E0308]: mismatched types
   --> $DIR/fn-or-tuple-struct-without-args.rs:37:20
    |
@@ -293,5 +279,5 @@ LL |     let _: usize = closure();
 
 error: aborting due to 17 previous errors
 
-Some errors have detailed explanations: E0308, E0423, E0615.
+Some errors have detailed explanations: E0308, E0533, E0615.
 For more information about an error, try `rustc --explain E0308`.
diff --git a/src/test/ui/suggestions/issue-84700.stderr b/src/test/ui/suggestions/issue-84700.stderr
index b36d8aba36d..ac9f5ab0b0c 100644
--- a/src/test/ui/suggestions/issue-84700.stderr
+++ b/src/test/ui/suggestions/issue-84700.stderr
@@ -7,15 +7,13 @@ LL |     Cow,
 LL |         FarmAnimal::Cow(_) => "moo".to_string(),
    |         ^^^^^^^^^^^^^^^^^^ help: use this syntax instead: `FarmAnimal::Cow`
 
-error[E0532]: expected tuple struct or tuple variant, found struct variant `FarmAnimal::Chicken`
+error[E0164]: expected tuple struct or tuple variant, found struct variant `FarmAnimal::Chicken`
   --> $DIR/issue-84700.rs:17:9
    |
-LL |     Chicken { num_eggs: usize },
-   |     --------------------------- `FarmAnimal::Chicken` defined here
-...
 LL |         FarmAnimal::Chicken(_) => "cluck, cluck!".to_string(),
-   |         ^^^^^^^^^^^^^^^^^^^^^^ help: use struct pattern syntax instead: `FarmAnimal::Chicken { num_eggs }`
+   |         ^^^^^^^^^^^^^^^^^^^^^^ not a tuple struct or tuple variant
 
 error: aborting due to 2 previous errors
 
-For more information about this error, try `rustc --explain E0532`.
+Some errors have detailed explanations: E0164, E0532.
+For more information about an error, try `rustc --explain E0164`.
diff --git a/src/test/ui/type-alias-enum-variants/incorrect-variant-form-through-Self-issue-58006.stderr b/src/test/ui/type-alias-enum-variants/incorrect-variant-form-through-Self-issue-58006.stderr
index 15d15f2f40d..6870b9d7d09 100644
--- a/src/test/ui/type-alias-enum-variants/incorrect-variant-form-through-Self-issue-58006.stderr
+++ b/src/test/ui/type-alias-enum-variants/incorrect-variant-form-through-Self-issue-58006.stderr
@@ -2,7 +2,7 @@ error[E0533]: expected unit struct, unit variant or constant, found tuple varian
   --> $DIR/incorrect-variant-form-through-Self-issue-58006.rs:8:13
    |
 LL |             Self::A => (),
-   |             ^^^^^^^
+   |             ^^^^^^^ not a unit struct, unit variant or constant
 
 error: aborting due to previous error
 
diff --git a/src/test/ui/type-alias-enum-variants/incorrect-variant-form-through-alias-caught.rs b/src/test/ui/type-alias-enum-variants/incorrect-variant-form-through-alias-caught.rs
index e4abb96b4bf..5ed7988e4da 100644
--- a/src/test/ui/type-alias-enum-variants/incorrect-variant-form-through-alias-caught.rs
+++ b/src/test/ui/type-alias-enum-variants/incorrect-variant-form-through-alias-caught.rs
@@ -6,7 +6,7 @@ type Alias = Enum;
 
 fn main() {
     Alias::Braced;
-    //~^ ERROR expected unit struct, unit variant or constant, found struct variant `Alias::Braced` [E0533]
+    //~^ ERROR expected value, found struct variant `Alias::Braced` [E0533]
     let Alias::Braced = panic!();
     //~^ ERROR expected unit struct, unit variant or constant, found struct variant `Alias::Braced` [E0533]
     let Alias::Braced(..) = panic!();
diff --git a/src/test/ui/type-alias-enum-variants/incorrect-variant-form-through-alias-caught.stderr b/src/test/ui/type-alias-enum-variants/incorrect-variant-form-through-alias-caught.stderr
index 8f3180a8639..c9ac99ede6f 100644
--- a/src/test/ui/type-alias-enum-variants/incorrect-variant-form-through-alias-caught.stderr
+++ b/src/test/ui/type-alias-enum-variants/incorrect-variant-form-through-alias-caught.stderr
@@ -1,20 +1,20 @@
-error[E0533]: expected unit struct, unit variant or constant, found struct variant `Alias::Braced`
+error[E0533]: expected value, found struct variant `Alias::Braced`
   --> $DIR/incorrect-variant-form-through-alias-caught.rs:8:5
    |
 LL |     Alias::Braced;
-   |     ^^^^^^^^^^^^^
+   |     ^^^^^^^^^^^^^ not a value
 
 error[E0533]: expected unit struct, unit variant or constant, found struct variant `Alias::Braced`
   --> $DIR/incorrect-variant-form-through-alias-caught.rs:10:9
    |
 LL |     let Alias::Braced = panic!();
-   |         ^^^^^^^^^^^^^
+   |         ^^^^^^^^^^^^^ not a unit struct, unit variant or constant
 
 error[E0164]: expected tuple struct or tuple variant, found struct variant `Alias::Braced`
   --> $DIR/incorrect-variant-form-through-alias-caught.rs:12:9
    |
 LL |     let Alias::Braced(..) = panic!();
-   |         ^^^^^^^^^^^^^^^^^ not a tuple variant or struct
+   |         ^^^^^^^^^^^^^^^^^ not a tuple struct or tuple variant
 
 error[E0618]: expected function, found enum variant `Alias::Unit`
   --> $DIR/incorrect-variant-form-through-alias-caught.rs:15:5
@@ -37,7 +37,7 @@ error[E0164]: expected tuple struct or tuple variant, found unit variant `Alias:
   --> $DIR/incorrect-variant-form-through-alias-caught.rs:17:9
    |
 LL |     let Alias::Unit() = panic!();
-   |         ^^^^^^^^^^^^^ not a tuple variant or struct
+   |         ^^^^^^^^^^^^^ not a tuple struct or tuple variant
 
 error: aborting due to 5 previous errors