aee1e59e6f
Along the way, we also implement a handful of diagnostics improvements and fixes, particularly with respect to the special handling of `||` in place of `|` and when there are leading verts in function params, which don't allow top-level or-patterns anyway.
26 lines
840 B
Plaintext
26 lines
840 B
Plaintext
error: an or-pattern parameter must be wrapped in parentheses
|
|
--> $DIR/or-patterns-syntactic-fail.rs:17:13
|
|
|
|
|
LL | fn fun1(A | B: E) {}
|
|
| ^^^^^ help: wrap the pattern in parentheses: `(A | B)`
|
|
|
|
error: an or-pattern parameter must be wrapped in parentheses
|
|
--> $DIR/or-patterns-syntactic-fail.rs:19:13
|
|
|
|
|
LL | fn fun2(| A | B: E) {}
|
|
| ^^^^^^^ help: wrap the pattern in parentheses: `(A | B)`
|
|
|
|
error[E0369]: no implementation for `E | ()`
|
|
--> $DIR/or-patterns-syntactic-fail.rs:13:22
|
|
|
|
|
LL | let _ = |A | B: E| ();
|
|
| ----^ -- ()
|
|
| |
|
|
| E
|
|
|
|
|
= note: an implementation of `std::ops::BitOr` might be missing for `E`
|
|
|
|
error: aborting due to 3 previous errors
|
|
|
|
For more information about this error, try `rustc --explain E0369`.
|