about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--clippy_lints/src/types.rs7
1 files changed, 3 insertions, 4 deletions
diff --git a/clippy_lints/src/types.rs b/clippy_lints/src/types.rs
index d8d6dcc3777..6d49f50d550 100644
--- a/clippy_lints/src/types.rs
+++ b/clippy_lints/src/types.rs
@@ -2460,14 +2460,13 @@ impl<'a, 'b, 'tcx> Visitor<'tcx> for ImplicitHasherConstructorVisitor<'a, 'b, 't
         if_chain! {
             if let ExprKind::Call(ref fun, ref args) = e.kind;
             if let ExprKind::Path(QPath::TypeRelative(ref ty, ref method)) = fun.kind;
+            if let TyKind::Path(QPath::Resolved(None, ty_path)) = ty.kind;
             then {
                 if !same_tys(self.cx, self.target.ty(), self.body.expr_ty(e)) {
                     return;
                 }
 
-                let ty = hir_ty_to_ty(self.cx.tcx, ty);
-
-                if is_type_diagnostic_item(self.cx, ty, sym!(hashmap_type)) {
+                if match_path(ty_path, &paths::HASHMAP) {
                     if method.ident.name == sym!(new) {
                         self.suggestions
                             .insert(e.span, "HashMap::default()".to_string());
@@ -2480,7 +2479,7 @@ impl<'a, 'b, 'tcx> Visitor<'tcx> for ImplicitHasherConstructorVisitor<'a, 'b, 't
                             ),
                         );
                     }
-                } else if is_type_diagnostic_item(self.cx, ty, sym!(hashset_type)) {
+                } else if match_path(ty_path, &paths::HASHSET) {
                     if method.ident.name == sym!(new) {
                         self.suggestions
                             .insert(e.span, "HashSet::default()".to_string());