summaryrefslogtreecommitdiffstats
path: root/tests/ui/or-patterns
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-18 02:49:42 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-18 02:49:42 +0000
commit837b550238aa671a591ccf282dddeab29cadb206 (patch)
tree914b6b8862bace72bd3245ca184d374b08d8a672 /tests/ui/or-patterns
parentAdding debian version 1.70.0+dfsg2-1. (diff)
downloadrustc-837b550238aa671a591ccf282dddeab29cadb206.tar.xz
rustc-837b550238aa671a591ccf282dddeab29cadb206.zip
Merging upstream version 1.71.1+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/ui/or-patterns')
-rw-r--r--tests/ui/or-patterns/or-patterns-default-binding-modes.rs2
-rw-r--r--tests/ui/or-patterns/or-patterns-syntactic-fail.rs5
-rw-r--r--tests/ui/or-patterns/or-patterns-syntactic-fail.stderr33
3 files changed, 18 insertions, 22 deletions
diff --git a/tests/ui/or-patterns/or-patterns-default-binding-modes.rs b/tests/ui/or-patterns/or-patterns-default-binding-modes.rs
index e56f9ffe2..df6aab0e6 100644
--- a/tests/ui/or-patterns/or-patterns-default-binding-modes.rs
+++ b/tests/ui/or-patterns/or-patterns-default-binding-modes.rs
@@ -3,6 +3,8 @@
// check-pass
#![allow(irrefutable_let_patterns)]
+#![allow(dropping_copy_types)]
+#![allow(dropping_references)]
fn main() {
// A regression test for a mistake we made at one point:
diff --git a/tests/ui/or-patterns/or-patterns-syntactic-fail.rs b/tests/ui/or-patterns/or-patterns-syntactic-fail.rs
index 358e9d034..23dbb57cb 100644
--- a/tests/ui/or-patterns/or-patterns-syntactic-fail.rs
+++ b/tests/ui/or-patterns/or-patterns-syntactic-fail.rs
@@ -8,9 +8,12 @@ use E::*;
fn no_top_level_or_patterns() {
// We do *not* allow or-patterns at the top level of lambdas...
- let _ = |A | B: E| (); //~ ERROR no implementation for `E | ()`
+ let _ = |A | B: E| ();
+ //~^ ERROR expected identifier, found
// -------- This looks like an or-pattern but is in fact `|A| (B: E | ())`.
+}
+fn no_top_level_or_patterns_2() {
// ...and for now neither do we allow or-patterns at the top level of functions.
fn fun1(A | B: E) {}
//~^ ERROR top-level or-patterns are not allowed
diff --git a/tests/ui/or-patterns/or-patterns-syntactic-fail.stderr b/tests/ui/or-patterns/or-patterns-syntactic-fail.stderr
index 10d42b7e3..c16a90368 100644
--- a/tests/ui/or-patterns/or-patterns-syntactic-fail.stderr
+++ b/tests/ui/or-patterns/or-patterns-syntactic-fail.stderr
@@ -1,43 +1,34 @@
+error: expected identifier, found `:`
+ --> $DIR/or-patterns-syntactic-fail.rs:11:19
+ |
+LL | let _ = |A | B: E| ();
+ | ^ expected identifier
+ |
+ = note: type ascription syntax has been removed, see issue #101728 <https://github.com/rust-lang/rust/issues/101728>
+
error: top-level or-patterns are not allowed in function parameters
- --> $DIR/or-patterns-syntactic-fail.rs:15:13
+ --> $DIR/or-patterns-syntactic-fail.rs:18:13
|
LL | fn fun1(A | B: E) {}
| ^^^^^ help: wrap the pattern in parentheses: `(A | B)`
error: top-level or-patterns are not allowed in function parameters
- --> $DIR/or-patterns-syntactic-fail.rs:18:13
+ --> $DIR/or-patterns-syntactic-fail.rs:21:13
|
LL | fn fun2(| A | B: E) {}
| ^^^^^^^ help: wrap the pattern in parentheses: `(A | B)`
error: top-level or-patterns are not allowed in `let` bindings
- --> $DIR/or-patterns-syntactic-fail.rs:23:9
+ --> $DIR/or-patterns-syntactic-fail.rs:26:9
|
LL | let A | B: E = A;
| ^^^^^ help: wrap the pattern in parentheses: `(A | B)`
error: top-level or-patterns are not allowed in `let` bindings
- --> $DIR/or-patterns-syntactic-fail.rs:26:9
+ --> $DIR/or-patterns-syntactic-fail.rs:29:9
|
LL | let | A | B: E = A;
| ^^^^^^^ help: wrap the pattern in parentheses: `(A | B)`
-error[E0369]: no implementation for `E | ()`
- --> $DIR/or-patterns-syntactic-fail.rs:11:22
- |
-LL | let _ = |A | B: E| ();
- | ----^ -- ()
- | |
- | E
- |
-note: an implementation of `BitOr<_>` might be missing for `E`
- --> $DIR/or-patterns-syntactic-fail.rs:6:1
- |
-LL | enum E { A, B }
- | ^^^^^^ must implement `BitOr<_>`
-note: the trait `BitOr` must be implemented
- --> $SRC_DIR/core/src/ops/bit.rs:LL:COL
-
error: aborting due to 5 previous errors
-For more information about this error, try `rustc --explain E0369`.