diff options
| author | Ada Alakbarova <ada.alakbarova@proton.me> | 2025-08-16 15:55:55 +0200 |
|---|---|---|
| committer | Ada Alakbarova <ada.alakbarova@proton.me> | 2025-08-16 15:56:22 +0200 |
| commit | 8418fb8eb1c1664f476f3a89f9f1d871bb53c2e7 (patch) | |
| tree | ba011ba9d6521d9e35ff89d3246be5e4a549fbbd | |
| parent | 42ddaa3a38efa6933db344e15ae4030f5cf869e4 (diff) | |
| download | rust-8418fb8eb1c1664f476f3a89f9f1d871bb53c2e7.tar.gz rust-8418fb8eb1c1664f476f3a89f9f1d871bb53c2e7.zip | |
shorten `expr_block`
| -rw-r--r-- | clippy_lints/src/collapsible_if.rs | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/clippy_lints/src/collapsible_if.rs b/clippy_lints/src/collapsible_if.rs index 12b43ddc697..ad610fbd8d2 100644 --- a/clippy_lints/src/collapsible_if.rs +++ b/clippy_lints/src/collapsible_if.rs @@ -5,7 +5,7 @@ use clippy_utils::source::{IntoSpan as _, SpanRangeExt, snippet, snippet_block_w use clippy_utils::{span_contains_non_whitespace, tokenize_with_text}; use rustc_ast::BinOpKind; use rustc_errors::Applicability; -use rustc_hir::{Block, Expr, ExprKind, Stmt, StmtKind}; +use rustc_hir::{Block, Expr, ExprKind, StmtKind}; use rustc_lexer::TokenKind; use rustc_lint::{LateContext, LateLintPass}; use rustc_session::impl_lint_pass; @@ -257,14 +257,9 @@ fn block_starts_with_significant_tokens( /// If `block` is a block with either one expression or a statement containing an expression, /// return the expression. We don't peel blocks recursively, as extra blocks might be intentional. fn expr_block<'tcx>(block: &Block<'tcx>) -> Option<&'tcx Expr<'tcx>> { - match block.stmts { - [] => block.expr, - [ - Stmt { - kind: StmtKind::Semi(expr), - .. - }, - ] if block.expr.is_none() => Some(expr), + match (block.stmts, block.expr) { + ([], expr) => expr, + ([stmt], None) if let StmtKind::Semi(expr) = stmt.kind => Some(expr), _ => None, } } |
