diff options
| author | kennytm <kennytm@gmail.com> | 2018-10-30 18:55:25 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-10-30 18:55:25 +0800 |
| commit | df511e94a04c3eaf7bf348ccfcbd4b22315bed84 (patch) | |
| tree | 2302347377b3d9d51ef225a52cdf11759ce282ab /src | |
| parent | b1ca3907e00211b2f645133af3574ca22e4f4f4d (diff) | |
| parent | 1a37575ade6dafedca29ffa03edbf2167cc1e544 (diff) | |
| download | rust-df511e94a04c3eaf7bf348ccfcbd4b22315bed84.tar.gz rust-df511e94a04c3eaf7bf348ccfcbd4b22315bed84.zip | |
Rollup merge of #54885 - llogiq:fix-54704, r=nikomatsakis
Don't lint 'unused_parens` on `if (break _) { .. }`
This fixes #54704
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustc_lint/unused.rs | 7 | ||||
| -rw-r--r-- | src/test/ui/lint/unused_parens_json_suggestion.rs | 9 |
2 files changed, 12 insertions, 4 deletions
diff --git a/src/librustc_lint/unused.rs b/src/librustc_lint/unused.rs index 96d04253cc4..5950e19b0ee 100644 --- a/src/librustc_lint/unused.rs +++ b/src/librustc_lint/unused.rs @@ -278,10 +278,9 @@ impl UnusedParens { msg: &str, followed_by_block: bool) { if let ast::ExprKind::Paren(ref inner) = value.node { - let necessary = followed_by_block && if let ast::ExprKind::Ret(_) = inner.node { - true - } else { - parser::contains_exterior_struct_lit(&inner) + let necessary = followed_by_block && match inner.node { + ast::ExprKind::Ret(_) | ast::ExprKind::Break(..) => true, + _ => parser::contains_exterior_struct_lit(&inner), }; if !necessary { let expr_text = if let Ok(snippet) = cx.sess().source_map() diff --git a/src/test/ui/lint/unused_parens_json_suggestion.rs b/src/test/ui/lint/unused_parens_json_suggestion.rs index 187e7f31dfd..9eda59614f4 100644 --- a/src/test/ui/lint/unused_parens_json_suggestion.rs +++ b/src/test/ui/lint/unused_parens_json_suggestion.rs @@ -23,4 +23,13 @@ fn main() { // We want to suggest the properly-balanced expression `1 / (2 + 3)`, not // the malformed `1 / (2 + 3` let _a = (1 / (2 + 3)); + f(); +} + +fn f() -> bool { + loop { + if (break { return true }) { + } + } + false } |
