1 error: top-level or-patterns are not allowed in function parameters
2 --> $DIR/or-patterns-syntactic-fail.rs:15:13
4 LL | fn fun1(A | B: E) {}
5 | ^^^^^ help: wrap the pattern in parentheses: `(A | B)`
7 error: top-level or-patterns are not allowed in function parameters
8 --> $DIR/or-patterns-syntactic-fail.rs:18:13
10 LL | fn fun2(| A | B: E) {}
11 | ^^^^^^^ help: wrap the pattern in parentheses: `(A | B)`
13 error: top-level or-patterns are not allowed in `let` bindings
14 --> $DIR/or-patterns-syntactic-fail.rs:23:9
16 LL | let A | B: E = A;
17 | ^^^^^ help: wrap the pattern in parentheses: `(A | B)`
19 error: top-level or-patterns are not allowed in `let` bindings
20 --> $DIR/or-patterns-syntactic-fail.rs:26:9
22 LL | let | A | B: E = A;
23 | ^^^^^^^ help: wrap the pattern in parentheses: `(A | B)`
25 error[E0369]: no implementation for `E | ()`
26 --> $DIR/or-patterns-syntactic-fail.rs:11:22
28 LL | let _ = |A | B: E| ();
33 = note: an implementation of `std::ops::BitOr` might be missing for `E`
35 error: aborting due to 5 previous errors
37 For more information about this error, try `rustc --explain E0369`.