diff options
| author | Mazdak Farrokhzad <twingoow@gmail.com> | 2019-06-09 03:51:13 +0200 |
|---|---|---|
| committer | Mazdak Farrokhzad <twingoow@gmail.com> | 2019-06-15 19:18:09 +0200 |
| commit | 6d1ecb3c950c37ae19e8fbfc52728630124ba41a (patch) | |
| tree | 00ba2b45ea259e5cb3fc4bc26de13e85f1437a82 | |
| parent | ff7d6a18adab67d5a5b0fb8280f83fe29ad0c369 (diff) | |
| download | rust-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.rs | 12 | ||||
| -rw-r--r-- | src/test/ui/type-alias-enum-variants/type-alias-enum-variants-priority-2.stderr | 16 |
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`. |
