diff options
Diffstat (limited to 'src/test/ui')
| -rw-r--r-- | src/test/ui/issue-51102.rs | 48 | ||||
| -rw-r--r-- | src/test/ui/issue-51102.stderr | 24 | ||||
| -rw-r--r-- | src/test/ui/short-error-format.rs | 2 | ||||
| -rw-r--r-- | src/test/ui/short-error-format.stderr | 4 |
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 |
