about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--clippy_lints/src/let_underscore.rs13
1 files changed, 6 insertions, 7 deletions
diff --git a/clippy_lints/src/let_underscore.rs b/clippy_lints/src/let_underscore.rs
index 1f5a6b77ed3..a68f7edd837 100644
--- a/clippy_lints/src/let_underscore.rs
+++ b/clippy_lints/src/let_underscore.rs
@@ -1,5 +1,5 @@
 use if_chain::if_chain;
-use rustc_hir::{PatKind, Stmt, StmtKind};
+use rustc_hir::{Local, PatKind};
 use rustc_lint::{LateContext, LateLintPass};
 use rustc_middle::lint::in_external_macro;
 use rustc_session::{declare_lint_pass, declare_tool_lint};
@@ -66,13 +66,12 @@ const SYNC_GUARD_PATHS: [&[&str]; 3] = [
 ];
 
 impl<'a, 'tcx> LateLintPass<'a, 'tcx> for LetUnderscore {
-    fn check_stmt(&mut self, cx: &LateContext<'_, '_>, stmt: &Stmt<'_>) {
-        if in_external_macro(cx.tcx.sess, stmt.span) {
+    fn check_local(&mut self, cx: &LateContext<'_, '_>, local: &Local<'_>) {
+        if in_external_macro(cx.tcx.sess, local.span) {
             return;
         }
 
         if_chain! {
-            if let StmtKind::Local(ref local) = stmt.kind;
             if let PatKind::Wild = local.pat.kind;
             if let Some(ref init) = local.init;
             then {
@@ -81,7 +80,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for LetUnderscore {
                     span_lint_and_help(
                         cx,
                         LET_UNDERSCORE_LOCK,
-                        stmt.span,
+                        local.span,
                         "non-binding let on a synchronization lock",
                         "consider using an underscore-prefixed named \
                             binding or dropping explicitly with `std::mem::drop`"
@@ -90,7 +89,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for LetUnderscore {
                     span_lint_and_help(
                         cx,
                         LET_UNDERSCORE_MUST_USE,
-                        stmt.span,
+                        local.span,
                         "non-binding let on an expression with `#[must_use]` type",
                         "consider explicitly using expression value"
                     )
@@ -98,7 +97,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for LetUnderscore {
                     span_lint_and_help(
                         cx,
                         LET_UNDERSCORE_MUST_USE,
-                        stmt.span,
+                        local.span,
                         "non-binding let on a result of a `#[must_use]` function",
                         "consider explicitly using function result"
                     )