diff options
Diffstat (limited to 'src/test/ui/type-alias-enum-variants/enum-variant-priority-higher-than-other-inherent.rs')
-rw-r--r-- | src/test/ui/type-alias-enum-variants/enum-variant-priority-higher-than-other-inherent.rs | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/test/ui/type-alias-enum-variants/enum-variant-priority-higher-than-other-inherent.rs b/src/test/ui/type-alias-enum-variants/enum-variant-priority-higher-than-other-inherent.rs new file mode 100644 index 000000000..3a8712f2a --- /dev/null +++ b/src/test/ui/type-alias-enum-variants/enum-variant-priority-higher-than-other-inherent.rs @@ -0,0 +1,23 @@ +// 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) +} + +impl E { + fn V() {} +} + +enum E2 { + V, +} + +impl E2 { + const V: u8 = 0; +} + +fn main() { + <E>::V(); //~ ERROR this enum variant takes 1 argument but 0 arguments were supplied + let _: u8 = <E2>::V; //~ ERROR mismatched types +} |