about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMazdak Farrokhzad <twingoow@gmail.com>2019-06-09 03:51:13 +0200
committerMazdak Farrokhzad <twingoow@gmail.com>2019-06-15 19:18:09 +0200
commit6d1ecb3c950c37ae19e8fbfc52728630124ba41a (patch)
tree00ba2b45ea259e5cb3fc4bc26de13e85f1437a82
parentff7d6a18adab67d5a5b0fb8280f83fe29ad0c369 (diff)
downloadrust-6d1ecb3c950c37ae19e8fbfc52728630124ba41a.tar.gz
rust-6d1ecb3c950c37ae19e8fbfc52728630124ba41a.zip
type-alias-enum-variants-priority-2: account for 'const's + describe test.
-rw-r--r--src/test/ui/type-alias-enum-variants/type-alias-enum-variants-priority-2.rs12
-rw-r--r--src/test/ui/type-alias-enum-variants/type-alias-enum-variants-priority-2.stderr16
2 files changed, 25 insertions, 3 deletions
diff --git a/src/test/ui/type-alias-enum-variants/type-alias-enum-variants-priority-2.rs b/src/test/ui/type-alias-enum-variants/type-alias-enum-variants-priority-2.rs
index e7719dc7155..fa3e1a35fc2 100644
--- a/src/test/ui/type-alias-enum-variants/type-alias-enum-variants-priority-2.rs
+++ b/src/test/ui/type-alias-enum-variants/type-alias-enum-variants-priority-2.rs
@@ -1,3 +1,6 @@
+// Check that an `enum` variant is resolved, in the value namespace,
+// with higher priority than other inherent items when there is a conflict.
+
 enum E {
     V(u8)
 }
@@ -6,6 +9,15 @@ impl E {
     fn V() {}
 }
 
+enum E2 {
+    V,
+}
+
+impl E2 {
+    const V: u8 = 0;
+}
+
 fn main() {
     <E>::V(); //~ ERROR this function takes 1 parameter but 0 parameters were supplied
+    let _: u8 = <E2>::V; //~ ERROR mismatched types
 }
diff --git a/src/test/ui/type-alias-enum-variants/type-alias-enum-variants-priority-2.stderr b/src/test/ui/type-alias-enum-variants/type-alias-enum-variants-priority-2.stderr
index a6300a3323d..5c4b038fd30 100644
--- a/src/test/ui/type-alias-enum-variants/type-alias-enum-variants-priority-2.stderr
+++ b/src/test/ui/type-alias-enum-variants/type-alias-enum-variants-priority-2.stderr
@@ -1,5 +1,5 @@
 error[E0061]: this function takes 1 parameter but 0 parameters were supplied
-  --> $DIR/type-alias-enum-variants-priority-2.rs:10:5
+  --> $DIR/type-alias-enum-variants-priority-2.rs:21:5
    |
 LL |     V(u8)
    |     ----- defined here
@@ -7,6 +7,16 @@ LL |     V(u8)
 LL |     <E>::V();
    |     ^^^^^^^^ expected 1 parameter
 
-error: aborting due to previous error
+error[E0308]: mismatched types
+  --> $DIR/type-alias-enum-variants-priority-2.rs:22:17
+   |
+LL |     let _: u8 = <E2>::V;
+   |                 ^^^^^^^ expected u8, found enum `E2`
+   |
+   = note: expected type `u8`
+              found type `E2`
+
+error: aborting due to 2 previous errors
 
-For more information about this error, try `rustc --explain E0061`.
+Some errors have detailed explanations: E0061, E0308.
+For more information about an error, try `rustc --explain E0061`.