warning: the feature `or_patterns` is incomplete and may cause the compiler to crash
  --> $DIR/issue-54538-unused-parens-lint.rs:3:12
   |
LL | #![feature(or_patterns)]
   |            ^^^^^^^^^^^
   |
   = note: `#[warn(incomplete_features)]` on by default

error: unnecessary parentheses around pattern
  --> $DIR/issue-54538-unused-parens-lint.rs:12:9
   |
LL |     let (a) = 0;
   |         ^^^ help: remove these parentheses
   |
note: lint level defined here
  --> $DIR/issue-54538-unused-parens-lint.rs:9:9
   |
LL | #![deny(unused_parens)]
   |         ^^^^^^^^^^^^^

error: unnecessary parentheses around pattern
  --> $DIR/issue-54538-unused-parens-lint.rs:13:9
   |
LL |     for (a) in 0..1 {}
   |         ^^^ help: remove these parentheses

error: unnecessary parentheses around pattern
  --> $DIR/issue-54538-unused-parens-lint.rs:14:12
   |
LL |     if let (a) = 0 {}
   |            ^^^ help: remove these parentheses

error: unnecessary parentheses around pattern
  --> $DIR/issue-54538-unused-parens-lint.rs:15:15
   |
LL |     while let (a) = 0 {}
   |               ^^^ help: remove these parentheses

error: unnecessary parentheses around pattern
  --> $DIR/issue-54538-unused-parens-lint.rs:16:12
   |
LL |     fn foo((a): u8) {}
   |            ^^^ help: remove these parentheses

error: unnecessary parentheses around pattern
  --> $DIR/issue-54538-unused-parens-lint.rs:17:14
   |
LL |     let _ = |(a): u8| 0;
   |              ^^^ help: remove these parentheses

error: unnecessary parentheses around pattern
  --> $DIR/issue-54538-unused-parens-lint.rs:41:12
   |
LL |     if let (0 | 1) = 0 {}
   |            ^^^^^^^ help: remove these parentheses

error: unnecessary parentheses around pattern
  --> $DIR/issue-54538-unused-parens-lint.rs:42:13
   |
LL |     if let ((0 | 1),) = (0,) {}
   |             ^^^^^^^ help: remove these parentheses

error: unnecessary parentheses around pattern
  --> $DIR/issue-54538-unused-parens-lint.rs:43:13
   |
LL |     if let [(0 | 1)] = [0] {}
   |             ^^^^^^^ help: remove these parentheses

error: unnecessary parentheses around pattern
  --> $DIR/issue-54538-unused-parens-lint.rs:44:16
   |
LL |     if let 0 | (1 | 2) = 0 {}
   |                ^^^^^^^ help: remove these parentheses

error: unnecessary parentheses around pattern
  --> $DIR/issue-54538-unused-parens-lint.rs:46:15
   |
LL |     if let TS((0 | 1)) = TS(0) {}
   |               ^^^^^^^ help: remove these parentheses

error: unnecessary parentheses around pattern
  --> $DIR/issue-54538-unused-parens-lint.rs:48:20
   |
LL |     if let NS { f: (0 | 1) } = (NS { f: 0 }) {}
   |                    ^^^^^^^ help: remove these parentheses

error: unnecessary parentheses around pattern
  --> $DIR/issue-54538-unused-parens-lint.rs:58:9
   |
LL |         (_) => {}
   |         ^^^ help: remove these parentheses

error: unnecessary parentheses around pattern
  --> $DIR/issue-54538-unused-parens-lint.rs:59:9
   |
LL |         (y) => {}
   |         ^^^ help: remove these parentheses

error: unnecessary parentheses around pattern
  --> $DIR/issue-54538-unused-parens-lint.rs:60:9
   |
LL |         (ref r) => {}
   |         ^^^^^^^ help: remove these parentheses

error: unnecessary parentheses around pattern
  --> $DIR/issue-54538-unused-parens-lint.rs:61:9
   |
LL |         (e @ 1...2) => {}
   |         ^^^^^^^^^^^ help: remove these parentheses

error: unnecessary parentheses around pattern
  --> $DIR/issue-54538-unused-parens-lint.rs:67:9
   |
LL |         (e @ &(1...2)) => {}
   |         ^^^^^^^^^^^^^^ help: remove these parentheses

error: unnecessary parentheses around pattern
  --> $DIR/issue-54538-unused-parens-lint.rs:68:10
   |
LL |         &(_) => {}
   |          ^^^ help: remove these parentheses

error: unnecessary parentheses around pattern
  --> $DIR/issue-54538-unused-parens-lint.rs:79:9
   |
LL |         (_) => {}
   |         ^^^ help: remove these parentheses

error: unnecessary parentheses around pattern
  --> $DIR/issue-54538-unused-parens-lint.rs:80:9
   |
LL |         (y) => {}
   |         ^^^ help: remove these parentheses

error: unnecessary parentheses around pattern
  --> $DIR/issue-54538-unused-parens-lint.rs:81:9
   |
LL |         (ref r) => {}
   |         ^^^^^^^ help: remove these parentheses

error: unnecessary parentheses around pattern
  --> $DIR/issue-54538-unused-parens-lint.rs:82:9
   |
LL |         (e @ 1..=2) => {}
   |         ^^^^^^^^^^^ help: remove these parentheses

error: unnecessary parentheses around pattern
  --> $DIR/issue-54538-unused-parens-lint.rs:88:9
   |
LL |         (e @ &(1..=2)) => {}
   |         ^^^^^^^^^^^^^^ help: remove these parentheses

error: unnecessary parentheses around pattern
  --> $DIR/issue-54538-unused-parens-lint.rs:89:10
   |
LL |         &(_) => {}
   |          ^^^ help: remove these parentheses

error: aborting due to 24 previous errors

