about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJason Newcomb <jsnewcomb@pm.me>2024-06-13 00:02:42 -0400
committerJason Newcomb <jsnewcomb@pm.me>2024-07-07 18:07:36 -0400
commit2d9e67ea8a74f5c25f2735a7dadd94e0f6d9e79d (patch)
tree9a45c5cd2d65440e39ddc9e200264592ec2df1d1
parent95348adcb9c4f44a8f4828e6137b9ee6d42a7dbe (diff)
downloadrust-2d9e67ea8a74f5c25f2735a7dadd94e0f6d9e79d.tar.gz
rust-2d9e67ea8a74f5c25f2735a7dadd94e0f6d9e79d.zip
`manual_let_else`: Delay msrv and macro checks.
-rw-r--r--clippy_lints/src/manual_let_else.rs6
1 files changed, 2 insertions, 4 deletions
diff --git a/clippy_lints/src/manual_let_else.rs b/clippy_lints/src/manual_let_else.rs
index 03e4d668dd8..ebebdf679a8 100644
--- a/clippy_lints/src/manual_let_else.rs
+++ b/clippy_lints/src/manual_let_else.rs
@@ -49,16 +49,14 @@ declare_clippy_lint! {
 
 impl<'tcx> QuestionMark {
     pub(crate) fn check_manual_let_else(&mut self, cx: &LateContext<'tcx>, stmt: &'tcx Stmt<'tcx>) {
-        if !self.msrv.meets(msrvs::LET_ELSE) || in_external_macro(cx.sess(), stmt.span) {
-            return;
-        }
-
         if let StmtKind::Let(local) = stmt.kind
             && let Some(init) = local.init
             && local.els.is_none()
             && local.ty.is_none()
             && init.span.eq_ctxt(stmt.span)
             && let Some(if_let_or_match) = IfLetOrMatch::parse(cx, init)
+            && self.msrv.meets(msrvs::LET_ELSE)
+            && !in_external_macro(cx.sess(), stmt.span)
         {
             match if_let_or_match {
                 IfLetOrMatch::IfLet(if_let_expr, let_pat, if_then, if_else, ..) => {