about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorMara Bos <m-ou.se@m-ou.se>2021-01-02 11:29:15 +0000
committerGitHub <noreply@github.com>2021-01-02 11:29:15 +0000
commit4172756c80abb79ccd8b6f43d37a797691414bcf (patch)
treedf34f75201ef0961a4cc6f6909c2c2c1acca39ad /src/test
parent7a1b01ec025c686efae215321bc7f4544c2ed7ea (diff)
parente0300716efc88a0b11f7121f8a15f5f385265b5d (diff)
downloadrust-4172756c80abb79ccd8b6f43d37a797691414bcf.tar.gz
rust-4172756c80abb79ccd8b6f43d37a797691414bcf.zip
Rollup merge of #80613 - bugadani:issue-80607, r=matthewjasper
Diag: print enum variant instead of enum type

Closes #80607
Diffstat (limited to 'src/test')
-rw-r--r--src/test/ui/issues/issue-80607.rs10
-rw-r--r--src/test/ui/issues/issue-80607.stderr14
2 files changed, 24 insertions, 0 deletions
diff --git a/src/test/ui/issues/issue-80607.rs b/src/test/ui/issues/issue-80607.rs
new file mode 100644
index 00000000000..63f4df359b8
--- /dev/null
+++ b/src/test/ui/issues/issue-80607.rs
@@ -0,0 +1,10 @@
+// This tests makes sure the diagnostics print the offending enum variant, not just the type.
+pub enum Enum {
+    V1(i32),
+}
+
+pub fn foo(x: i32) -> Enum {
+    Enum::V1 { x } //~ ERROR `Enum::V1` has no field named `x`
+}
+
+fn main() {}
diff --git a/src/test/ui/issues/issue-80607.stderr b/src/test/ui/issues/issue-80607.stderr
new file mode 100644
index 00000000000..5375478942b
--- /dev/null
+++ b/src/test/ui/issues/issue-80607.stderr
@@ -0,0 +1,14 @@
+error[E0559]: variant `Enum::V1` has no field named `x`
+  --> $DIR/issue-80607.rs:7:16
+   |
+LL |     V1(i32),
+   |     -- `Enum::V1` defined here
+...
+LL |     Enum::V1 { x }
+   |     --------   ^ field does not exist
+   |     |
+   |     `Enum::V1` is a tuple variant, use the appropriate syntax: `Enum::V1(/* fields */)`
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0559`.