error: unnecessary parentheses around `return` value
  --> $DIR/lint-unnecessary-parens.rs:10:12
   |
LL |     return (1);
   |            ^^^ help: remove these parentheses
   |
note: lint level defined here
  --> $DIR/lint-unnecessary-parens.rs:1:9
   |
LL | #![deny(unused_parens)]
   |         ^^^^^^^^^^^^^

error: unnecessary parentheses around `return` value
  --> $DIR/lint-unnecessary-parens.rs:13:12
   |
LL |     return (X { y });
   |            ^^^^^^^^^ help: remove these parentheses

error: unnecessary parentheses around type
  --> $DIR/lint-unnecessary-parens.rs:16:42
   |
LL | fn unused_parens_around_return_type() -> (u32) {
   |                                          ^^^^^ help: remove these parentheses

error: unnecessary parentheses around function argument
  --> $DIR/lint-unnecessary-parens.rs:30:9
   |
LL |     bar((true));
   |         ^^^^^^ help: remove these parentheses

error: unnecessary parentheses around `if` condition
  --> $DIR/lint-unnecessary-parens.rs:32:8
   |
LL |     if (true) {}
   |        ^^^^^^ help: remove these parentheses

error: unnecessary parentheses around `while` condition
  --> $DIR/lint-unnecessary-parens.rs:33:11
   |
LL |     while (true) {}
   |           ^^^^^^ help: remove these parentheses

warning: denote infinite loops with `loop { ... }`
  --> $DIR/lint-unnecessary-parens.rs:33:5
   |
LL |     while (true) {}
   |     ^^^^^^^^^^^^ help: use `loop`
   |
   = note: `#[warn(while_true)]` on by default

error: unnecessary parentheses around `match` head expression
  --> $DIR/lint-unnecessary-parens.rs:35:11
   |
LL |     match (true) {
   |           ^^^^^^ help: remove these parentheses

error: unnecessary parentheses around `let` head expression
  --> $DIR/lint-unnecessary-parens.rs:38:16
   |
LL |     if let 1 = (1) {}
   |                ^^^ help: remove these parentheses

error: unnecessary parentheses around `let` head expression
  --> $DIR/lint-unnecessary-parens.rs:39:19
   |
LL |     while let 1 = (2) {}
   |                   ^^^ help: remove these parentheses

error: unnecessary parentheses around method argument
  --> $DIR/lint-unnecessary-parens.rs:53:24
   |
LL |     X { y: false }.foo((true));
   |                        ^^^^^^ help: remove these parentheses

error: unnecessary parentheses around assigned value
  --> $DIR/lint-unnecessary-parens.rs:55:18
   |
LL |     let mut _a = (0);
   |                  ^^^ help: remove these parentheses

error: unnecessary parentheses around assigned value
  --> $DIR/lint-unnecessary-parens.rs:56:10
   |
LL |     _a = (0);
   |          ^^^ help: remove these parentheses

error: unnecessary parentheses around assigned value
  --> $DIR/lint-unnecessary-parens.rs:57:11
   |
LL |     _a += (1);
   |           ^^^ help: remove these parentheses

error: aborting due to 13 previous errors

