mirror of
https://github.com/rust-lang/rust.git
synced 2026-04-27 18:57:42 +03:00
Error message for top-level or-patterns suggesting a solution
This commit is contained in:
@@ -690,8 +690,8 @@ parse_nul_in_c_str = null characters in C string literals are not supported
|
||||
|
||||
parse_or_in_let_chain = `||` operators are not supported in let chain conditions
|
||||
|
||||
parse_or_pattern_not_allowed_in_fn_parameters = top-level or-patterns are not allowed in function parameters
|
||||
parse_or_pattern_not_allowed_in_let_binding = top-level or-patterns are not allowed in `let` bindings
|
||||
parse_or_pattern_not_allowed_in_fn_parameters = function parameters require top-level or-patterns in parentheses
|
||||
parse_or_pattern_not_allowed_in_let_binding = `let` bindings require top-level or-patterns in parentheses
|
||||
parse_out_of_range_hex_escape = out of range hex escape
|
||||
.label = must be a character in the range [\x00-\x7f]
|
||||
|
||||
|
||||
@@ -10,4 +10,4 @@ enum E { A, B }
|
||||
use E::*;
|
||||
|
||||
#[cfg(false)]
|
||||
fn fun1((A | B): E) {} //~ ERROR top-level or-patterns are not allowed
|
||||
fn fun1((A | B): E) {} //~ ERROR function parameters require top-level or-patterns in parentheses
|
||||
|
||||
@@ -10,4 +10,4 @@ enum E { A, B }
|
||||
use E::*;
|
||||
|
||||
#[cfg(false)]
|
||||
fn fun1(A | B: E) {} //~ ERROR top-level or-patterns are not allowed
|
||||
fn fun1(A | B: E) {} //~ ERROR function parameters require top-level or-patterns in parentheses
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
error: top-level or-patterns are not allowed in function parameters
|
||||
error: function parameters require top-level or-patterns in parentheses
|
||||
--> $DIR/fn-param-wrap-parens.rs:13:9
|
||||
|
|
||||
LL | fn fun1(A | B: E) {}
|
||||
|
||||
@@ -17,7 +17,7 @@ fn foo() {
|
||||
let b @ (A | B): E = A;
|
||||
|
||||
let b @ A | B: E = A; //~ERROR `b` is not bound in all patterns
|
||||
//~^ ERROR top-level or-patterns are not allowed
|
||||
//~^ ERROR `let` bindings require top-level or-patterns in parentheses
|
||||
}
|
||||
|
||||
enum F {
|
||||
@@ -32,13 +32,13 @@ fn bar() {
|
||||
let (A(x) | B(x)): F = A(3);
|
||||
|
||||
let &A(_) | B(_): F = A(3); //~ERROR mismatched types
|
||||
//~^ ERROR top-level or-patterns are not allowed
|
||||
//~^ ERROR `let` bindings require top-level or-patterns in parentheses
|
||||
let &&A(_) | B(_): F = A(3); //~ERROR mismatched types
|
||||
//~^ ERROR top-level or-patterns are not allowed
|
||||
//~^ ERROR `let` bindings require top-level or-patterns in parentheses
|
||||
let &mut A(_) | B(_): F = A(3); //~ERROR mismatched types
|
||||
//~^ ERROR top-level or-patterns are not allowed
|
||||
//~^ ERROR `let` bindings require top-level or-patterns in parentheses
|
||||
let &&mut A(_) | B(_): F = A(3); //~ERROR mismatched types
|
||||
//~^ ERROR top-level or-patterns are not allowed
|
||||
//~^ ERROR `let` bindings require top-level or-patterns in parentheses
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
error: top-level or-patterns are not allowed in `let` bindings
|
||||
error: `let` bindings require top-level or-patterns in parentheses
|
||||
--> $DIR/nested-undelimited-precedence.rs:19:9
|
||||
|
|
||||
LL | let b @ A | B: E = A;
|
||||
@@ -9,7 +9,7 @@ help: wrap the pattern in parentheses
|
||||
LL | let (b @ A | B): E = A;
|
||||
| + +
|
||||
|
||||
error: top-level or-patterns are not allowed in `let` bindings
|
||||
error: `let` bindings require top-level or-patterns in parentheses
|
||||
--> $DIR/nested-undelimited-precedence.rs:34:9
|
||||
|
|
||||
LL | let &A(_) | B(_): F = A(3);
|
||||
@@ -20,7 +20,7 @@ help: wrap the pattern in parentheses
|
||||
LL | let (&A(_) | B(_)): F = A(3);
|
||||
| + +
|
||||
|
||||
error: top-level or-patterns are not allowed in `let` bindings
|
||||
error: `let` bindings require top-level or-patterns in parentheses
|
||||
--> $DIR/nested-undelimited-precedence.rs:36:9
|
||||
|
|
||||
LL | let &&A(_) | B(_): F = A(3);
|
||||
@@ -31,7 +31,7 @@ help: wrap the pattern in parentheses
|
||||
LL | let (&&A(_) | B(_)): F = A(3);
|
||||
| + +
|
||||
|
||||
error: top-level or-patterns are not allowed in `let` bindings
|
||||
error: `let` bindings require top-level or-patterns in parentheses
|
||||
--> $DIR/nested-undelimited-precedence.rs:38:9
|
||||
|
|
||||
LL | let &mut A(_) | B(_): F = A(3);
|
||||
@@ -42,7 +42,7 @@ help: wrap the pattern in parentheses
|
||||
LL | let (&mut A(_) | B(_)): F = A(3);
|
||||
| + +
|
||||
|
||||
error: top-level or-patterns are not allowed in `let` bindings
|
||||
error: `let` bindings require top-level or-patterns in parentheses
|
||||
--> $DIR/nested-undelimited-precedence.rs:40:9
|
||||
|
|
||||
LL | let &&mut A(_) | B(_): F = A(3);
|
||||
|
||||
@@ -16,18 +16,18 @@ fn no_top_level_or_patterns() {
|
||||
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
|
||||
//~^ ERROR function parameters require top-level or-patterns in parentheses
|
||||
|
||||
fn fun2(| A | B: E) {}
|
||||
//~^ ERROR top-level or-patterns are not allowed
|
||||
//~^ ERROR function parameters require top-level or-patterns in parentheses
|
||||
|
||||
// We don't allow top-level or-patterns before type annotation in let-statements because we
|
||||
// want to reserve this syntactic space for possible future type ascription.
|
||||
let A | B: E = A;
|
||||
//~^ ERROR top-level or-patterns are not allowed
|
||||
//~^ ERROR `let` bindings require top-level or-patterns in parentheses
|
||||
|
||||
let | A | B: E = A;
|
||||
//~^ ERROR top-level or-patterns are not allowed
|
||||
//~^ ERROR `let` bindings require top-level or-patterns in parentheses
|
||||
|
||||
let (A | B): E = A; // ok -- wrapped in parens
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ help: you might have meant to open the body of the closure
|
||||
LL | let _ = |A | { B: E| ();
|
||||
| +
|
||||
|
||||
error: top-level or-patterns are not allowed in function parameters
|
||||
error: function parameters require top-level or-patterns in parentheses
|
||||
--> $DIR/or-patterns-syntactic-fail.rs:18:13
|
||||
|
|
||||
LL | fn fun1(A | B: E) {}
|
||||
@@ -22,7 +22,7 @@ help: wrap the pattern in parentheses
|
||||
LL | fn fun1((A | B): E) {}
|
||||
| + +
|
||||
|
||||
error: top-level or-patterns are not allowed in function parameters
|
||||
error: function parameters require top-level or-patterns in parentheses
|
||||
--> $DIR/or-patterns-syntactic-fail.rs:21:13
|
||||
|
|
||||
LL | fn fun2(| A | B: E) {}
|
||||
@@ -33,7 +33,7 @@ help: wrap the pattern in parentheses
|
||||
LL | fn fun2((| A | B): E) {}
|
||||
| + +
|
||||
|
||||
error: top-level or-patterns are not allowed in `let` bindings
|
||||
error: `let` bindings require top-level or-patterns in parentheses
|
||||
--> $DIR/or-patterns-syntactic-fail.rs:26:9
|
||||
|
|
||||
LL | let A | B: E = A;
|
||||
@@ -44,7 +44,7 @@ help: wrap the pattern in parentheses
|
||||
LL | let (A | B): E = A;
|
||||
| + +
|
||||
|
||||
error: top-level or-patterns are not allowed in `let` bindings
|
||||
error: `let` bindings require top-level or-patterns in parentheses
|
||||
--> $DIR/or-patterns-syntactic-fail.rs:29:9
|
||||
|
|
||||
LL | let | A | B: E = A;
|
||||
|
||||
@@ -8,7 +8,7 @@ fn main() {}
|
||||
|
||||
#[cfg(false)]
|
||||
fn leading() {
|
||||
fn fun1( A: E) {} //~ ERROR top-level or-patterns are not allowed
|
||||
fn fun1( A: E) {} //~ ERROR function parameters require top-level or-patterns in parentheses
|
||||
fn fun2( A: E) {} //~ ERROR unexpected `||` before function parameter
|
||||
let ( | A): E;
|
||||
let ( | A): (E); //~ ERROR unexpected token `||` in pattern
|
||||
|
||||
@@ -8,7 +8,7 @@ fn main() {}
|
||||
|
||||
#[cfg(false)]
|
||||
fn leading() {
|
||||
fn fun1( | A: E) {} //~ ERROR top-level or-patterns are not allowed
|
||||
fn fun1( | A: E) {} //~ ERROR function parameters require top-level or-patterns in parentheses
|
||||
fn fun2( || A: E) {} //~ ERROR unexpected `||` before function parameter
|
||||
let ( | A): E;
|
||||
let ( || A): (E); //~ ERROR unexpected token `||` in pattern
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
error: top-level or-patterns are not allowed in function parameters
|
||||
error: function parameters require top-level or-patterns in parentheses
|
||||
--> $DIR/remove-leading-vert.rs:11:14
|
||||
|
|
||||
LL | fn fun1( | A: E) {}
|
||||
|
||||
@@ -65,7 +65,7 @@ fn parse(x: Void) {
|
||||
let res: Result<bool, Void> = Ok(false);
|
||||
let Ok(_) = res;
|
||||
let Ok(_) | Err(!) = &res; // Disallowed; see #82048.
|
||||
//~^ ERROR top-level or-patterns are not allowed in `let` bindings
|
||||
//~^ ERROR `let` bindings require top-level or-patterns in parentheses
|
||||
let (Ok(_) | Err(!)) = &res;
|
||||
let (Ok(_) | Err(&!)) = res.as_ref();
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ error: expected one of `,`, `=>`, `if`, `|`, or `}`, found `<=`
|
||||
LL | Some(!) <=
|
||||
| ^^ expected one of `,`, `=>`, `if`, `|`, or `}`
|
||||
|
||||
error: top-level or-patterns are not allowed in `let` bindings
|
||||
error: `let` bindings require top-level or-patterns in parentheses
|
||||
--> $DIR/parse.rs:67:9
|
||||
|
|
||||
LL | let Ok(_) | Err(!) = &res; // Disallowed; see #82048.
|
||||
|
||||
Reference in New Issue
Block a user