diff options
| author | Mara Bos <m-ou.se@m-ou.se> | 2020-11-19 19:47:25 +0100 |
|---|---|---|
| committer | Mara Bos <m-ou.se@m-ou.se> | 2020-11-19 19:47:25 +0100 |
| commit | 113c1476c923492ea1427b061458a6ab8faf8df8 (patch) | |
| tree | feff40184774ae754ad65fc9f00b174fc32ddeb6 | |
| parent | 78faaef8de0ac1dcd11353ad0cad1c0f0a6d2a58 (diff) | |
| download | rust-113c1476c923492ea1427b061458a6ab8faf8df8.tar.gz rust-113c1476c923492ea1427b061458a6ab8faf8df8.zip | |
Clippy: Match on assert!() expansions without an inner block.
| -rw-r--r-- | clippy_lints/src/assertions_on_constants.rs | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/clippy_lints/src/assertions_on_constants.rs b/clippy_lints/src/assertions_on_constants.rs index a2ccb0369c4..a52f0997d43 100644 --- a/clippy_lints/src/assertions_on_constants.rs +++ b/clippy_lints/src/assertions_on_constants.rs @@ -129,8 +129,11 @@ fn match_assert_with_message<'tcx>(cx: &LateContext<'tcx>, expr: &'tcx Expr<'_>) if let ExprKind::Block(ref block, _) = arms[0].body.kind; if block.stmts.is_empty(); if let Some(block_expr) = &block.expr; - if let ExprKind::Block(ref inner_block, _) = block_expr.kind; - if let Some(begin_panic_call) = &inner_block.expr; + // inner block is optional. unwarp it if it exists, or use the expression as is otherwise. + if let Some(begin_panic_call) = match block_expr.kind { + ExprKind::Block(ref inner_block, _) => &inner_block.expr, + _ => &block.expr, + }; // function call if let Some(args) = match_panic_call(cx, begin_panic_call); if args.len() == 1; |
