From 7853dac66245d88bace4cdc62b38837aa3e54568 Mon Sep 17 00:00:00 2001 From: xd009642 Date: Fri, 26 Jul 2019 16:46:47 +0100 Subject: [PATCH] Responded to comments and fixed compile bug Removed the hash of `let c: fn(_,_) -> _ = ExprKind::Cast` and fixed compile issue by collecting HirVec into an actual Vec --- clippy_lints/src/trait_bounds.rs | 4 ++-- clippy_lints/src/utils/hir_utils.rs | 4 +--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/clippy_lints/src/trait_bounds.rs b/clippy_lints/src/trait_bounds.rs index 02514377dfb..cb836eac3a6 100644 --- a/clippy_lints/src/trait_bounds.rs +++ b/clippy_lints/src/trait_bounds.rs @@ -1,6 +1,6 @@ use crate::utils::{in_macro, span_help_and_lint, SpanlessHash}; use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass}; -use rustc::{declare_tool_lint, lint_array, impl_lint_pass}; +use rustc::{declare_tool_lint, impl_lint_pass}; use rustc_data_structures::fx::FxHashMap; use rustc::hir::*; @@ -29,7 +29,7 @@ fn check_generics(&mut self, cx: &LateContext<'a, 'tcx>, gen: &'tcx Generics) { for bound in &gen.where_clause.predicates { if let WherePredicate::BoundPredicate(ref p) = bound { let h = hash(&p.bounded_ty); - if let Some(ref v) = map.insert(h, p.bounds) { + if let Some(ref v) = map.insert(h, p.bounds.iter().collect::>()) { let mut hint_string = format!("consider combining the bounds: `{:?}: ", p.bounded_ty); for b in v.iter() { hint_string.push_str(&format!("{:?}, ", b)); diff --git a/clippy_lints/src/utils/hir_utils.rs b/clippy_lints/src/utils/hir_utils.rs index 4330b55878c..703c9fac1da 100644 --- a/clippy_lints/src/utils/hir_utils.rs +++ b/clippy_lints/src/utils/hir_utils.rs @@ -3,7 +3,7 @@ use rustc::hir::ptr::P; use rustc::hir::*; use rustc::lint::LateContext; -use rustc::ty::{self, TypeckTables}; +use rustc::ty::TypeckTables; use std::collections::hash_map::DefaultHasher; use std::hash::{Hash, Hasher}; use syntax::ast::Name; @@ -439,8 +439,6 @@ pub fn hash_expr(&mut self, e: &Expr) { self.hash_exprs(args); }, ExprKind::Cast(ref e, ref ty) => { - let c: fn(_, _) -> _ = ExprKind::Cast; - c.hash(&mut self.s); self.hash_expr(e); self.hash_ty(ty); },