about summary refs log tree commit diff
path: root/src/test/ui
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui')
-rw-r--r--src/test/ui/issue-51102.rs48
-rw-r--r--src/test/ui/issue-51102.stderr24
-rw-r--r--src/test/ui/short-error-format.rs2
-rw-r--r--src/test/ui/short-error-format.stderr4
4 files changed, 75 insertions, 3 deletions
diff --git a/src/test/ui/issue-51102.rs b/src/test/ui/issue-51102.rs
new file mode 100644
index 00000000000..c8f106687ae
--- /dev/null
+++ b/src/test/ui/issue-51102.rs
@@ -0,0 +1,48 @@
+// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+enum SimpleEnum {
+    NoState,
+}
+
+struct SimpleStruct {
+    no_state_here: u64,
+}
+
+fn main() {
+    let _ = |simple| {
+        match simple {
+            SimpleStruct {
+                state: 0,
+                //~^ struct `SimpleStruct` does not have a field named `state` [E0026]
+                ..
+            } => (),
+        }
+    };
+
+    let _ = |simple| {
+        match simple {
+            SimpleStruct {
+                no_state_here: 0,
+                no_state_here: 1
+                //~^ ERROR field `no_state_here` bound multiple times in the pattern [E0025]
+            } => (),
+        }
+    };
+
+    let _ = |simple| {
+        match simple {
+            SimpleEnum::NoState {
+                state: 0
+                //~^ ERROR variant `SimpleEnum::NoState` does not have a field named `state` [E0026]
+            } => (),
+        }
+    };
+}
diff --git a/src/test/ui/issue-51102.stderr b/src/test/ui/issue-51102.stderr
new file mode 100644
index 00000000000..a4bd0fb914f
--- /dev/null
+++ b/src/test/ui/issue-51102.stderr
@@ -0,0 +1,24 @@
+error[E0026]: struct `SimpleStruct` does not have a field named `state`
+  --> $DIR/issue-51102.rs:23:17
+   |
+LL |                 state: 0,
+   |                 ^^^^^^^^ struct `SimpleStruct` does not have this field
+
+error[E0025]: field `no_state_here` bound multiple times in the pattern
+  --> $DIR/issue-51102.rs:34:17
+   |
+LL |                 no_state_here: 0,
+   |                 ---------------- first use of `no_state_here`
+LL |                 no_state_here: 1
+   |                 ^^^^^^^^^^^^^^^^ multiple uses of `no_state_here` in pattern
+
+error[E0026]: variant `SimpleEnum::NoState` does not have a field named `state`
+  --> $DIR/issue-51102.rs:43:17
+   |
+LL |                 state: 0
+   |                 ^^^^^^^^ variant `SimpleEnum::NoState` does not have this field
+
+error: aborting due to 3 previous errors
+
+Some errors occurred: E0025, E0026.
+For more information about an error, try `rustc --explain E0025`.
diff --git a/src/test/ui/short-error-format.rs b/src/test/ui/short-error-format.rs
index ecce824ca17..3e6802c51c3 100644
--- a/src/test/ui/short-error-format.rs
+++ b/src/test/ui/short-error-format.rs
@@ -8,7 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// compile-flags: --error-format=short -Zunstable-options
+// compile-flags: --error-format=short
 
 fn foo(_: u32) {}
 
diff --git a/src/test/ui/short-error-format.stderr b/src/test/ui/short-error-format.stderr
index debe60b4632..f7461b837bd 100644
--- a/src/test/ui/short-error-format.stderr
+++ b/src/test/ui/short-error-format.stderr
@@ -1,3 +1,3 @@
-$DIR/short-error-format.rs:16:9 - error[E0308]: mismatched types
-$DIR/short-error-format.rs:18:7 - error[E0599]: no method named `salut` found for type `u32` in the current scope
+$DIR/short-error-format.rs:16:9: error[E0308]: mismatched types
+$DIR/short-error-format.rs:18:7: error[E0599]: no method named `salut` found for type `u32` in the current scope
 error: aborting due to 2 previous errors