diff --git a/clippy_lints/src/assign_ops.rs b/clippy_lints/src/assign_ops.rs index 2056a4af0d53..28a5f8246f77 100644 --- a/clippy_lints/src/assign_ops.rs +++ b/clippy_lints/src/assign_ops.rs @@ -236,13 +236,13 @@ fn is_commutative(op: hir::BinOpKind) -> bool { } } -struct ExprVisitor<'a, 'tcx: 'a> { +struct ExprVisitor<'a, 'tcx> { assignee: &'a hir::Expr, counter: u8, cx: &'a LateContext<'a, 'tcx>, } -impl<'a, 'tcx: 'a> Visitor<'tcx> for ExprVisitor<'a, 'tcx> { +impl<'a, 'tcx> Visitor<'tcx> for ExprVisitor<'a, 'tcx> { fn visit_expr(&mut self, expr: &'tcx hir::Expr) { if SpanlessEq::new(self.cx).ignore_fn().eq_expr(self.assignee, expr) { self.counter += 1; diff --git a/clippy_lints/src/block_in_if_condition.rs b/clippy_lints/src/block_in_if_condition.rs index 786cba9fc7d8..4fd9e271af08 100644 --- a/clippy_lints/src/block_in_if_condition.rs +++ b/clippy_lints/src/block_in_if_condition.rs @@ -44,12 +44,12 @@ declare_clippy_lint! { declare_lint_pass!(BlockInIfCondition => [BLOCK_IN_IF_CONDITION_EXPR, BLOCK_IN_IF_CONDITION_STMT]); -struct ExVisitor<'a, 'tcx: 'a> { +struct ExVisitor<'a, 'tcx> { found_block: Option<&'tcx Expr>, cx: &'a LateContext<'a, 'tcx>, } -impl<'a, 'tcx: 'a> Visitor<'tcx> for ExVisitor<'a, 'tcx> { +impl<'a, 'tcx> Visitor<'tcx> for ExVisitor<'a, 'tcx> { fn visit_expr(&mut self, expr: &'tcx Expr) { if let ExprKind::Closure(_, _, eid, _, _) = expr.node { let body = self.cx.tcx.hir().body(eid); diff --git a/clippy_lints/src/booleans.rs b/clippy_lints/src/booleans.rs index 57390f84c820..0acf620cd17e 100644 --- a/clippy_lints/src/booleans.rs +++ b/clippy_lints/src/booleans.rs @@ -68,12 +68,12 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for NonminimalBool { } } -struct NonminimalBoolVisitor<'a, 'tcx: 'a> { +struct NonminimalBoolVisitor<'a, 'tcx> { cx: &'a LateContext<'a, 'tcx>, } use quine_mc_cluskey::Bool; -struct Hir2Qmm<'a, 'tcx: 'a, 'v> { +struct Hir2Qmm<'a, 'tcx, 'v> { terminals: Vec<&'v Expr>, cx: &'a LateContext<'a, 'tcx>, } @@ -155,7 +155,7 @@ impl<'a, 'tcx, 'v> Hir2Qmm<'a, 'tcx, 'v> { } } -struct SuggestContext<'a, 'tcx: 'a, 'v> { +struct SuggestContext<'a, 'tcx, 'v> { terminals: &'v [&'v Expr], cx: &'a LateContext<'a, 'tcx>, output: String, diff --git a/clippy_lints/src/cognitive_complexity.rs b/clippy_lints/src/cognitive_complexity.rs index f01322768fa0..ea644450f6f4 100644 --- a/clippy_lints/src/cognitive_complexity.rs +++ b/clippy_lints/src/cognitive_complexity.rs @@ -41,7 +41,7 @@ impl CognitiveComplexity { impl_lint_pass!(CognitiveComplexity => [COGNITIVE_COMPLEXITY]); impl CognitiveComplexity { - fn check<'a, 'tcx: 'a>(&mut self, cx: &'a LateContext<'a, 'tcx>, body: &'tcx Body, span: Span) { + fn check<'a, 'tcx>(&mut self, cx: &'a LateContext<'a, 'tcx>, body: &'tcx Body, span: Span) { if in_macro_or_desugar(span) { return; } @@ -132,7 +132,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for CognitiveComplexity { } } -struct CCHelper<'a, 'tcx: 'a> { +struct CCHelper<'a, 'tcx> { match_arms: u64, divergence: u64, returns: u64, diff --git a/clippy_lints/src/consts.rs b/clippy_lints/src/consts.rs index e5b47a0c29e7..480118ca7ea4 100644 --- a/clippy_lints/src/consts.rs +++ b/clippy_lints/src/consts.rs @@ -210,7 +210,7 @@ pub fn constant_context<'c, 'cc>( } } -pub struct ConstEvalLateContext<'a, 'tcx: 'a> { +pub struct ConstEvalLateContext<'a, 'tcx> { lcx: &'a LateContext<'a, 'tcx>, tables: &'a ty::TypeckTables<'tcx>, param_env: ty::ParamEnv<'tcx>, diff --git a/clippy_lints/src/entry.rs b/clippy_lints/src/entry.rs index 43930842387a..83f78b2d72d6 100644 --- a/clippy_lints/src/entry.rs +++ b/clippy_lints/src/entry.rs @@ -112,7 +112,7 @@ fn check_cond<'a, 'tcx, 'b>( None } -struct InsertVisitor<'a, 'tcx: 'a, 'b> { +struct InsertVisitor<'a, 'tcx, 'b> { cx: &'a LateContext<'a, 'tcx>, span: Span, ty: &'static str, diff --git a/clippy_lints/src/escape.rs b/clippy_lints/src/escape.rs index 9106c1557963..bbc3084c1572 100644 --- a/clippy_lints/src/escape.rs +++ b/clippy_lints/src/escape.rs @@ -43,7 +43,7 @@ fn is_non_trait_box(ty: Ty<'_>) -> bool { ty.is_box() && !ty.boxed_ty().is_trait() } -struct EscapeDelegate<'a, 'tcx: 'a> { +struct EscapeDelegate<'a, 'tcx> { cx: &'a LateContext<'a, 'tcx>, set: HirIdSet, too_large_for_stack: u64, diff --git a/clippy_lints/src/eval_order_dependence.rs b/clippy_lints/src/eval_order_dependence.rs index dc98158c5099..001438969516 100644 --- a/clippy_lints/src/eval_order_dependence.rs +++ b/clippy_lints/src/eval_order_dependence.rs @@ -92,7 +92,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for EvalOrderDependence { } } -struct DivergenceVisitor<'a, 'tcx: 'a> { +struct DivergenceVisitor<'a, 'tcx> { cx: &'a LateContext<'a, 'tcx>, } @@ -272,7 +272,7 @@ fn check_stmt<'a, 'tcx>(vis: &mut ReadVisitor<'a, 'tcx>, stmt: &'tcx Stmt) -> St } /// A visitor that looks for reads from a variable. -struct ReadVisitor<'a, 'tcx: 'a> { +struct ReadVisitor<'a, 'tcx> { cx: &'a LateContext<'a, 'tcx>, /// The ID of the variable we're looking for. var: HirId, diff --git a/clippy_lints/src/fallible_impl_from.rs b/clippy_lints/src/fallible_impl_from.rs index 3aac7bfc69ec..1d2de8978fb6 100644 --- a/clippy_lints/src/fallible_impl_from.rs +++ b/clippy_lints/src/fallible_impl_from.rs @@ -49,13 +49,13 @@ fn lint_impl_body<'a, 'tcx>(cx: &LateContext<'a, 'tcx>, impl_span: Span, impl_it use rustc::hir::intravisit::{self, NestedVisitorMap, Visitor}; use rustc::hir::*; - struct FindPanicUnwrap<'a, 'tcx: 'a> { + struct FindPanicUnwrap<'a, 'tcx> { lcx: &'a LateContext<'a, 'tcx>, tables: &'tcx ty::TypeckTables<'tcx>, result: Vec, } - impl<'a, 'tcx: 'a> Visitor<'tcx> for FindPanicUnwrap<'a, 'tcx> { + impl<'a, 'tcx> Visitor<'tcx> for FindPanicUnwrap<'a, 'tcx> { fn visit_expr(&mut self, expr: &'tcx Expr) { // check for `begin_panic` if_chain! { diff --git a/clippy_lints/src/functions.rs b/clippy_lints/src/functions.rs index 1f69b67de7b2..aeb9b0c42d71 100644 --- a/clippy_lints/src/functions.rs +++ b/clippy_lints/src/functions.rs @@ -291,7 +291,7 @@ fn raw_ptr_arg(arg: &hir::Arg, ty: &hir::Ty) -> Option { } } -struct DerefVisitor<'a, 'tcx: 'a> { +struct DerefVisitor<'a, 'tcx> { cx: &'a LateContext<'a, 'tcx>, ptrs: FxHashSet, tables: &'a ty::TypeckTables<'tcx>, @@ -330,7 +330,7 @@ impl<'a, 'tcx> hir::intravisit::Visitor<'tcx> for DerefVisitor<'a, 'tcx> { } } -impl<'a, 'tcx: 'a> DerefVisitor<'a, 'tcx> { +impl<'a, 'tcx> DerefVisitor<'a, 'tcx> { fn check_arg(&self, ptr: &hir::Expr) { if let hir::ExprKind::Path(ref qpath) = ptr.node { if let Res::Local(id) = self.cx.tables.qpath_res(qpath, ptr.hir_id) { diff --git a/clippy_lints/src/let_if_seq.rs b/clippy_lints/src/let_if_seq.rs index 990d8facd134..845e40c5edf0 100644 --- a/clippy_lints/src/let_if_seq.rs +++ b/clippy_lints/src/let_if_seq.rs @@ -135,7 +135,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for LetIfSeq { } } -struct UsedVisitor<'a, 'tcx: 'a> { +struct UsedVisitor<'a, 'tcx> { cx: &'a LateContext<'a, 'tcx>, id: hir::HirId, used: bool, @@ -194,7 +194,7 @@ fn check_assign<'a, 'tcx>( None } -fn used_in_expr<'a, 'tcx: 'a>(cx: &LateContext<'a, 'tcx>, id: hir::HirId, expr: &'tcx hir::Expr) -> bool { +fn used_in_expr<'a, 'tcx>(cx: &LateContext<'a, 'tcx>, id: hir::HirId, expr: &'tcx hir::Expr) -> bool { let mut v = UsedVisitor { cx, id, used: false }; hir::intravisit::walk_expr(&mut v, expr); v.used diff --git a/clippy_lints/src/lifetimes.rs b/clippy_lints/src/lifetimes.rs index c3446b1ed7ae..dbdb3c519627 100644 --- a/clippy_lints/src/lifetimes.rs +++ b/clippy_lints/src/lifetimes.rs @@ -147,7 +147,7 @@ fn check_fn_inner<'a, 'tcx>( report_extra_lifetimes(cx, decl, generics); } -fn could_use_elision<'a, 'tcx: 'a>( +fn could_use_elision<'a, 'tcx>( cx: &LateContext<'a, 'tcx>, func: &'tcx FnDecl, body: Option, @@ -264,7 +264,7 @@ fn unique_lifetimes(lts: &[RefLt]) -> usize { } /// A visitor usable for `rustc_front::visit::walk_ty()`. -struct RefVisitor<'a, 'tcx: 'a> { +struct RefVisitor<'a, 'tcx> { cx: &'a LateContext<'a, 'tcx>, lts: Vec, abort: bool, @@ -377,7 +377,7 @@ impl<'a, 'tcx> Visitor<'tcx> for RefVisitor<'a, 'tcx> { /// Are any lifetimes mentioned in the `where` clause? If so, we don't try to /// reason about elision. -fn has_where_lifetimes<'a, 'tcx: 'a>(cx: &LateContext<'a, 'tcx>, where_clause: &'tcx WhereClause) -> bool { +fn has_where_lifetimes<'a, 'tcx>(cx: &LateContext<'a, 'tcx>, where_clause: &'tcx WhereClause) -> bool { for predicate in &where_clause.predicates { match *predicate { WherePredicate::RegionPredicate(..) => return true, @@ -445,7 +445,7 @@ impl<'tcx> Visitor<'tcx> for LifetimeChecker { } } -fn report_extra_lifetimes<'a, 'tcx: 'a>(cx: &LateContext<'a, 'tcx>, func: &'tcx FnDecl, generics: &'tcx Generics) { +fn report_extra_lifetimes<'a, 'tcx>(cx: &LateContext<'a, 'tcx>, func: &'tcx FnDecl, generics: &'tcx Generics) { let hs = generics .params .iter() diff --git a/clippy_lints/src/loops.rs b/clippy_lints/src/loops.rs index 882f9a1af1bc..b4d2e921e050 100644 --- a/clippy_lints/src/loops.rs +++ b/clippy_lints/src/loops.rs @@ -1723,13 +1723,13 @@ impl<'tcx> Visitor<'tcx> for UsedVisitor { } } -struct LocalUsedVisitor<'a, 'tcx: 'a> { +struct LocalUsedVisitor<'a, 'tcx> { cx: &'a LateContext<'a, 'tcx>, local: HirId, used: bool, } -impl<'a, 'tcx: 'a> Visitor<'tcx> for LocalUsedVisitor<'a, 'tcx> { +impl<'a, 'tcx> Visitor<'tcx> for LocalUsedVisitor<'a, 'tcx> { fn visit_expr(&mut self, expr: &'tcx Expr) { if same_var(self.cx, expr, self.local) { self.used = true; @@ -1743,7 +1743,7 @@ impl<'a, 'tcx: 'a> Visitor<'tcx> for LocalUsedVisitor<'a, 'tcx> { } } -struct VarVisitor<'a, 'tcx: 'a> { +struct VarVisitor<'a, 'tcx> { /// context reference cx: &'a LateContext<'a, 'tcx>, /// var name to look for as index @@ -1914,7 +1914,7 @@ impl<'a, 'tcx> Visitor<'tcx> for VarVisitor<'a, 'tcx> { } } -fn is_used_inside<'a, 'tcx: 'a>(cx: &'a LateContext<'a, 'tcx>, expr: &'tcx Expr, container: &'tcx Expr) -> bool { +fn is_used_inside<'a, 'tcx>(cx: &'a LateContext<'a, 'tcx>, expr: &'tcx Expr, container: &'tcx Expr) -> bool { let def_id = match var_def_id(cx, expr) { Some(id) => id, None => return false, @@ -1927,7 +1927,7 @@ fn is_used_inside<'a, 'tcx: 'a>(cx: &'a LateContext<'a, 'tcx>, expr: &'tcx Expr, false } -fn is_iterator_used_after_while_let<'a, 'tcx: 'a>(cx: &LateContext<'a, 'tcx>, iter_expr: &'tcx Expr) -> bool { +fn is_iterator_used_after_while_let<'a, 'tcx>(cx: &LateContext<'a, 'tcx>, iter_expr: &'tcx Expr) -> bool { let def_id = match var_def_id(cx, iter_expr) { Some(id) => id, None => return false, @@ -1945,7 +1945,7 @@ fn is_iterator_used_after_while_let<'a, 'tcx: 'a>(cx: &LateContext<'a, 'tcx>, it visitor.var_used_after_while_let } -struct VarUsedAfterLoopVisitor<'a, 'tcx: 'a> { +struct VarUsedAfterLoopVisitor<'a, 'tcx> { cx: &'a LateContext<'a, 'tcx>, def_id: HirId, iter_expr_id: HirId, @@ -2051,7 +2051,7 @@ enum VarState { } /// Scan a for loop for variables that are incremented exactly once. -struct IncrementVisitor<'a, 'tcx: 'a> { +struct IncrementVisitor<'a, 'tcx> { cx: &'a LateContext<'a, 'tcx>, // context reference states: FxHashMap, // incremented variables depth: u32, // depth of conditional expressions @@ -2105,7 +2105,7 @@ impl<'a, 'tcx> Visitor<'tcx> for IncrementVisitor<'a, 'tcx> { } /// Checks whether a variable is initialized to zero at the start of a loop. -struct InitializeVisitor<'a, 'tcx: 'a> { +struct InitializeVisitor<'a, 'tcx> { cx: &'a LateContext<'a, 'tcx>, // context reference end_expr: &'tcx Expr, // the for loop. Stop scanning here. var_id: HirId, @@ -2374,7 +2374,7 @@ fn check_infinite_loop<'a, 'tcx>(cx: &LateContext<'a, 'tcx>, cond: &'tcx Expr, e /// Stops analysis if a function call is found /// Note: In some cases such as `self`, there are no mutable annotation, /// All variables definition IDs are collected -struct VarCollectorVisitor<'a, 'tcx: 'a> { +struct VarCollectorVisitor<'a, 'tcx> { cx: &'a LateContext<'a, 'tcx>, ids: FxHashSet, def_ids: FxHashMap, diff --git a/clippy_lints/src/matches.rs b/clippy_lints/src/matches.rs index cb33ad4d974b..566082c9be05 100644 --- a/clippy_lints/src/matches.rs +++ b/clippy_lints/src/matches.rs @@ -763,7 +763,7 @@ where T: Copy + Ord, { #[derive(Copy, Clone, Debug, Eq, PartialEq)] - enum Kind<'a, T: 'a> { + enum Kind<'a, T> { Start(T, &'a SpannedRange), End(Bound, &'a SpannedRange), } diff --git a/clippy_lints/src/methods/mod.rs b/clippy_lints/src/methods/mod.rs index 29ea6d018ad5..1bcdbfec5900 100644 --- a/clippy_lints/src/methods/mod.rs +++ b/clippy_lints/src/methods/mod.rs @@ -1046,7 +1046,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Methods { /// Checks for the `OR_FUN_CALL` lint. #[allow(clippy::too_many_lines)] -fn lint_or_fun_call<'a, 'tcx: 'a>( +fn lint_or_fun_call<'a, 'tcx>( cx: &LateContext<'a, 'tcx>, expr: &hir::Expr, method_span: Span, @@ -1054,7 +1054,7 @@ fn lint_or_fun_call<'a, 'tcx: 'a>( args: &'tcx [hir::Expr], ) { // Searches an expression for method calls or function calls that aren't ctors - struct FunCallFinder<'a, 'tcx: 'a> { + struct FunCallFinder<'a, 'tcx> { cx: &'a LateContext<'a, 'tcx>, found: bool, } @@ -1142,7 +1142,7 @@ fn lint_or_fun_call<'a, 'tcx: 'a>( /// Checks for `*or(foo())`. #[allow(clippy::too_many_arguments)] - fn check_general_case<'a, 'tcx: 'a>( + fn check_general_case<'a, 'tcx>( cx: &LateContext<'a, 'tcx>, name: &str, method_span: Span, diff --git a/clippy_lints/src/methods/option_map_unwrap_or.rs b/clippy_lints/src/methods/option_map_unwrap_or.rs index ce78c740f7c4..769392a6fd8f 100644 --- a/clippy_lints/src/methods/option_map_unwrap_or.rs +++ b/clippy_lints/src/methods/option_map_unwrap_or.rs @@ -77,12 +77,12 @@ pub(super) fn lint<'a, 'tcx>( } } -struct UnwrapVisitor<'a, 'tcx: 'a> { +struct UnwrapVisitor<'a, 'tcx> { cx: &'a LateContext<'a, 'tcx>, identifiers: FxHashSet, } -impl<'a, 'tcx: 'a> Visitor<'tcx> for UnwrapVisitor<'a, 'tcx> { +impl<'a, 'tcx> Visitor<'tcx> for UnwrapVisitor<'a, 'tcx> { fn visit_path(&mut self, path: &'tcx Path, _id: HirId) { self.identifiers.insert(ident(path)); walk_path(self, path); @@ -93,13 +93,13 @@ impl<'a, 'tcx: 'a> Visitor<'tcx> for UnwrapVisitor<'a, 'tcx> { } } -struct MapExprVisitor<'a, 'tcx: 'a> { +struct MapExprVisitor<'a, 'tcx> { cx: &'a LateContext<'a, 'tcx>, identifiers: FxHashSet, found_identifier: bool, } -impl<'a, 'tcx: 'a> Visitor<'tcx> for MapExprVisitor<'a, 'tcx> { +impl<'a, 'tcx> Visitor<'tcx> for MapExprVisitor<'a, 'tcx> { fn visit_path(&mut self, path: &'tcx Path, _id: HirId) { if self.identifiers.contains(&ident(path)) { self.found_identifier = true; diff --git a/clippy_lints/src/methods/unnecessary_filter_map.rs b/clippy_lints/src/methods/unnecessary_filter_map.rs index a28e6fa88bbe..a28e9b1e3079 100644 --- a/clippy_lints/src/methods/unnecessary_filter_map.rs +++ b/clippy_lints/src/methods/unnecessary_filter_map.rs @@ -53,7 +53,7 @@ pub(super) fn lint(cx: &LateContext<'_, '_>, expr: &hir::Expr, args: &[hir::Expr } // returns (found_mapping, found_filtering) -fn check_expression<'a, 'tcx: 'a>( +fn check_expression<'a, 'tcx>( cx: &'a LateContext<'a, 'tcx>, arg_id: hir::HirId, expr: &'tcx hir::Expr, @@ -104,7 +104,7 @@ fn check_expression<'a, 'tcx: 'a>( } } -struct ReturnVisitor<'a, 'tcx: 'a> { +struct ReturnVisitor<'a, 'tcx> { cx: &'a LateContext<'a, 'tcx>, arg_id: hir::HirId, // Found a non-None return that isn't Some(input) @@ -113,7 +113,7 @@ struct ReturnVisitor<'a, 'tcx: 'a> { found_filtering: bool, } -impl<'a, 'tcx: 'a> ReturnVisitor<'a, 'tcx> { +impl<'a, 'tcx> ReturnVisitor<'a, 'tcx> { fn new(cx: &'a LateContext<'a, 'tcx>, arg_id: hir::HirId) -> ReturnVisitor<'a, 'tcx> { ReturnVisitor { cx, diff --git a/clippy_lints/src/mut_mut.rs b/clippy_lints/src/mut_mut.rs index 3971346dd1eb..858ad50e1043 100644 --- a/clippy_lints/src/mut_mut.rs +++ b/clippy_lints/src/mut_mut.rs @@ -37,7 +37,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for MutMut { } } -pub struct MutVisitor<'a, 'tcx: 'a> { +pub struct MutVisitor<'a, 'tcx> { cx: &'a LateContext<'a, 'tcx>, } diff --git a/clippy_lints/src/needless_pass_by_value.rs b/clippy_lints/src/needless_pass_by_value.rs index 424de64b5c74..710c8975a1ef 100644 --- a/clippy_lints/src/needless_pass_by_value.rs +++ b/clippy_lints/src/needless_pass_by_value.rs @@ -326,7 +326,7 @@ fn requires_exact_signature(attrs: &[Attribute]) -> bool { }) } -struct MovedVariablesCtxt<'a, 'tcx: 'a> { +struct MovedVariablesCtxt<'a, 'tcx> { cx: &'a LateContext<'a, 'tcx>, moved_vars: FxHashSet, /// Spans which need to be prefixed with `*` for dereferencing the diff --git a/clippy_lints/src/non_expressive_names.rs b/clippy_lints/src/non_expressive_names.rs index c2e4805fa7bb..cc0192feb5cb 100644 --- a/clippy_lints/src/non_expressive_names.rs +++ b/clippy_lints/src/non_expressive_names.rs @@ -77,7 +77,7 @@ struct ExistingName { whitelist: &'static [&'static str], } -struct SimilarNamesLocalVisitor<'a, 'tcx: 'a> { +struct SimilarNamesLocalVisitor<'a, 'tcx> { names: Vec, cx: &'a EarlyContext<'tcx>, lint: &'a NonExpressiveNames, @@ -86,7 +86,7 @@ struct SimilarNamesLocalVisitor<'a, 'tcx: 'a> { single_char_names: Vec>, } -impl<'a, 'tcx: 'a> SimilarNamesLocalVisitor<'a, 'tcx> { +impl<'a, 'tcx> SimilarNamesLocalVisitor<'a, 'tcx> { fn check_single_char_names(&self) { let num_single_char_names = self.single_char_names.iter().flatten().count(); let threshold = self.lint.single_char_binding_names_threshold; @@ -123,9 +123,9 @@ const WHITELIST: &[&[&str]] = &[ &["lit", "lint"], ]; -struct SimilarNamesNameVisitor<'a: 'b, 'tcx: 'a, 'b>(&'b mut SimilarNamesLocalVisitor<'a, 'tcx>); +struct SimilarNamesNameVisitor<'a, 'tcx, 'b>(&'b mut SimilarNamesLocalVisitor<'a, 'tcx>); -impl<'a, 'tcx: 'a, 'b> Visitor<'tcx> for SimilarNamesNameVisitor<'a, 'tcx, 'b> { +impl<'a, 'tcx, 'b> Visitor<'tcx> for SimilarNamesNameVisitor<'a, 'tcx, 'b> { fn visit_pat(&mut self, pat: &'tcx Pat) { match pat.node { PatKind::Ident(_, ident, _) => self.check_ident(ident), diff --git a/clippy_lints/src/shadow.rs b/clippy_lints/src/shadow.rs index 2d85189d111d..95cd118c98eb 100644 --- a/clippy_lints/src/shadow.rs +++ b/clippy_lints/src/shadow.rs @@ -236,7 +236,7 @@ fn check_pat<'a, 'tcx>( } } -fn lint_shadow<'a, 'tcx: 'a>( +fn lint_shadow<'a, 'tcx>( cx: &LateContext<'a, 'tcx>, name: Name, span: Span, diff --git a/clippy_lints/src/slow_vector_initialization.rs b/clippy_lints/src/slow_vector_initialization.rs index 4e434351eb02..dde9412c52e8 100644 --- a/clippy_lints/src/slow_vector_initialization.rs +++ b/clippy_lints/src/slow_vector_initialization.rs @@ -180,7 +180,7 @@ impl SlowVectorInit { /// `VectorInitializationVisitor` searches for unsafe or slow vector initializations for the given /// vector. -struct VectorInitializationVisitor<'a, 'tcx: 'a> { +struct VectorInitializationVisitor<'a, 'tcx> { cx: &'a LateContext<'a, 'tcx>, /// Contains the information. diff --git a/clippy_lints/src/suspicious_trait_impl.rs b/clippy_lints/src/suspicious_trait_impl.rs index fbce50f9ef84..a480d98b2fd1 100644 --- a/clippy_lints/src/suspicious_trait_impl.rs +++ b/clippy_lints/src/suspicious_trait_impl.rs @@ -183,7 +183,7 @@ struct BinaryExprVisitor { in_binary_expr: bool, } -impl<'a, 'tcx: 'a> Visitor<'tcx> for BinaryExprVisitor { +impl<'a, 'tcx> Visitor<'tcx> for BinaryExprVisitor { fn visit_expr(&mut self, expr: &'tcx hir::Expr) { match expr.node { hir::ExprKind::Binary(..) diff --git a/clippy_lints/src/types.rs b/clippy_lints/src/types.rs index 1841961979d1..f484dc798753 100644 --- a/clippy_lints/src/types.rs +++ b/clippy_lints/src/types.rs @@ -2136,18 +2136,18 @@ impl<'tcx> ImplicitHasherType<'tcx> { } } -struct ImplicitHasherTypeVisitor<'a, 'tcx: 'a> { +struct ImplicitHasherTypeVisitor<'a, 'tcx> { cx: &'a LateContext<'a, 'tcx>, found: Vec>, } -impl<'a, 'tcx: 'a> ImplicitHasherTypeVisitor<'a, 'tcx> { +impl<'a, 'tcx> ImplicitHasherTypeVisitor<'a, 'tcx> { fn new(cx: &'a LateContext<'a, 'tcx>) -> Self { Self { cx, found: vec![] } } } -impl<'a, 'tcx: 'a> Visitor<'tcx> for ImplicitHasherTypeVisitor<'a, 'tcx> { +impl<'a, 'tcx> Visitor<'tcx> for ImplicitHasherTypeVisitor<'a, 'tcx> { fn visit_ty(&mut self, t: &'tcx hir::Ty) { if let Some(target) = ImplicitHasherType::new(self.cx, t) { self.found.push(target); @@ -2162,14 +2162,14 @@ impl<'a, 'tcx: 'a> Visitor<'tcx> for ImplicitHasherTypeVisitor<'a, 'tcx> { } /// Looks for default-hasher-dependent constructors like `HashMap::new`. -struct ImplicitHasherConstructorVisitor<'a, 'b, 'tcx: 'a + 'b> { +struct ImplicitHasherConstructorVisitor<'a, 'b, 'tcx> { cx: &'a LateContext<'a, 'tcx>, body: &'a TypeckTables<'tcx>, target: &'b ImplicitHasherType<'tcx>, suggestions: BTreeMap, } -impl<'a, 'b, 'tcx: 'a + 'b> ImplicitHasherConstructorVisitor<'a, 'b, 'tcx> { +impl<'a, 'b, 'tcx> ImplicitHasherConstructorVisitor<'a, 'b, 'tcx> { fn new(cx: &'a LateContext<'a, 'tcx>, target: &'b ImplicitHasherType<'tcx>) -> Self { Self { cx, @@ -2180,7 +2180,7 @@ impl<'a, 'b, 'tcx: 'a + 'b> ImplicitHasherConstructorVisitor<'a, 'b, 'tcx> { } } -impl<'a, 'b, 'tcx: 'a + 'b> Visitor<'tcx> for ImplicitHasherConstructorVisitor<'a, 'b, 'tcx> { +impl<'a, 'b, 'tcx> Visitor<'tcx> for ImplicitHasherConstructorVisitor<'a, 'b, 'tcx> { fn visit_body(&mut self, body: &'tcx Body) { let prev_body = self.body; self.body = self.cx.tcx.body_tables(body.id()); diff --git a/clippy_lints/src/unused_label.rs b/clippy_lints/src/unused_label.rs index 4b41a02de974..a9d78d30f2bf 100644 --- a/clippy_lints/src/unused_label.rs +++ b/clippy_lints/src/unused_label.rs @@ -27,7 +27,7 @@ declare_clippy_lint! { "unused labels" } -struct UnusedLabelVisitor<'a, 'tcx: 'a> { +struct UnusedLabelVisitor<'a, 'tcx> { labels: FxHashMap, cx: &'a LateContext<'a, 'tcx>, } @@ -60,7 +60,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for UnusedLabel { } } -impl<'a, 'tcx: 'a> Visitor<'tcx> for UnusedLabelVisitor<'a, 'tcx> { +impl<'a, 'tcx> Visitor<'tcx> for UnusedLabelVisitor<'a, 'tcx> { fn visit_expr(&mut self, expr: &'tcx hir::Expr) { match expr.node { hir::ExprKind::Break(destination, _) | hir::ExprKind::Continue(destination) => { diff --git a/clippy_lints/src/unwrap.rs b/clippy_lints/src/unwrap.rs index 555a4f3f7792..568087b36679 100644 --- a/clippy_lints/src/unwrap.rs +++ b/clippy_lints/src/unwrap.rs @@ -57,7 +57,7 @@ declare_clippy_lint! { } /// Visitor that keeps track of which variables are unwrappable. -struct UnwrappableVariablesVisitor<'a, 'tcx: 'a> { +struct UnwrappableVariablesVisitor<'a, 'tcx> { unwrappables: Vec>, cx: &'a LateContext<'a, 'tcx>, } @@ -74,7 +74,7 @@ struct UnwrapInfo<'tcx> { /// Collects the information about unwrappable variables from an if condition /// The `invert` argument tells us whether the condition is negated. -fn collect_unwrap_info<'a, 'tcx: 'a>( +fn collect_unwrap_info<'a, 'tcx>( cx: &'a LateContext<'a, 'tcx>, expr: &'tcx Expr, invert: bool, @@ -113,7 +113,7 @@ fn collect_unwrap_info<'a, 'tcx: 'a>( Vec::new() } -impl<'a, 'tcx: 'a> UnwrappableVariablesVisitor<'a, 'tcx> { +impl<'a, 'tcx> UnwrappableVariablesVisitor<'a, 'tcx> { fn visit_branch(&mut self, cond: &'tcx Expr, branch: &'tcx Expr, else_branch: bool) { let prev_len = self.unwrappables.len(); for unwrap_info in collect_unwrap_info(self.cx, cond, else_branch) { @@ -130,7 +130,7 @@ impl<'a, 'tcx: 'a> UnwrappableVariablesVisitor<'a, 'tcx> { } } -impl<'a, 'tcx: 'a> Visitor<'tcx> for UnwrappableVariablesVisitor<'a, 'tcx> { +impl<'a, 'tcx> Visitor<'tcx> for UnwrappableVariablesVisitor<'a, 'tcx> { fn visit_expr(&mut self, expr: &'tcx Expr) { if let Some((cond, then, els)) = if_block(&expr) { walk_expr(self, cond); diff --git a/clippy_lints/src/use_self.rs b/clippy_lints/src/use_self.rs index c18922a394c7..96e725c42297 100644 --- a/clippy_lints/src/use_self.rs +++ b/clippy_lints/src/use_self.rs @@ -68,7 +68,7 @@ fn span_use_self_lint(cx: &LateContext<'_, '_>, path: &Path) { ); } -struct TraitImplTyVisitor<'a, 'tcx: 'a> { +struct TraitImplTyVisitor<'a, 'tcx> { item_type: Ty<'tcx>, cx: &'a LateContext<'a, 'tcx>, trait_type_walker: ty::walk::TypeWalker<'tcx>, @@ -108,7 +108,7 @@ impl<'a, 'tcx> Visitor<'tcx> for TraitImplTyVisitor<'a, 'tcx> { } } -fn check_trait_method_impl_decl<'a, 'tcx: 'a>( +fn check_trait_method_impl_decl<'a, 'tcx>( cx: &'a LateContext<'a, 'tcx>, item_type: Ty<'tcx>, impl_item: &ImplItem, @@ -213,7 +213,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for UseSelf { } } -struct UseSelfVisitor<'a, 'tcx: 'a> { +struct UseSelfVisitor<'a, 'tcx> { item_path: &'a Path, cx: &'a LateContext<'a, 'tcx>, } diff --git a/clippy_lints/src/utils/hir_utils.rs b/clippy_lints/src/utils/hir_utils.rs index 7f58d21a3158..3a54c5d0a02c 100644 --- a/clippy_lints/src/utils/hir_utils.rs +++ b/clippy_lints/src/utils/hir_utils.rs @@ -14,7 +14,7 @@ use syntax::ptr::P; /// span. /// /// Note that some expressions kinds are not considered but could be added. -pub struct SpanlessEq<'a, 'tcx: 'a> { +pub struct SpanlessEq<'a, 'tcx> { /// Context used to evaluate constant expressions. cx: &'a LateContext<'a, 'tcx>, tables: &'a TypeckTables<'tcx>, @@ -23,7 +23,7 @@ pub struct SpanlessEq<'a, 'tcx: 'a> { ignore_fn: bool, } -impl<'a, 'tcx: 'a> SpanlessEq<'a, 'tcx> { +impl<'a, 'tcx> SpanlessEq<'a, 'tcx> { pub fn new(cx: &'a LateContext<'a, 'tcx>) -> Self { Self { cx, @@ -349,14 +349,14 @@ where /// trait would consider IDs and spans. /// /// All expressions kind are hashed, but some might have a weaker hash. -pub struct SpanlessHash<'a, 'tcx: 'a> { +pub struct SpanlessHash<'a, 'tcx> { /// Context used to evaluate constant expressions. cx: &'a LateContext<'a, 'tcx>, tables: &'a TypeckTables<'tcx>, s: DefaultHasher, } -impl<'a, 'tcx: 'a> SpanlessHash<'a, 'tcx> { +impl<'a, 'tcx> SpanlessHash<'a, 'tcx> { pub fn new(cx: &'a LateContext<'a, 'tcx>, tables: &'a TypeckTables<'tcx>) -> Self { Self { cx, diff --git a/clippy_lints/src/utils/internal_lints.rs b/clippy_lints/src/utils/internal_lints.rs index 44cdba8ce344..aba2543b13c8 100644 --- a/clippy_lints/src/utils/internal_lints.rs +++ b/clippy_lints/src/utils/internal_lints.rs @@ -217,12 +217,12 @@ fn is_lint_ref_type<'tcx>(cx: &LateContext<'_, 'tcx>, ty: &Ty) -> bool { false } -struct LintCollector<'a, 'tcx: 'a> { +struct LintCollector<'a, 'tcx> { output: &'a mut FxHashSet, cx: &'a LateContext<'a, 'tcx>, } -impl<'a, 'tcx: 'a> Visitor<'tcx> for LintCollector<'a, 'tcx> { +impl<'a, 'tcx> Visitor<'tcx> for LintCollector<'a, 'tcx> { fn visit_expr(&mut self, expr: &'tcx Expr) { walk_expr(self, expr); } diff --git a/clippy_lints/src/utils/mod.rs b/clippy_lints/src/utils/mod.rs index afaaa9e81c60..bee44d092ee8 100644 --- a/clippy_lints/src/utils/mod.rs +++ b/clippy_lints/src/utils/mod.rs @@ -605,7 +605,7 @@ pub fn get_parent_expr<'c>(cx: &'c LateContext<'_, '_>, e: &Expr) -> Option<&'c }) } -pub fn get_enclosing_block<'a, 'tcx: 'a>(cx: &LateContext<'a, 'tcx>, hir_id: HirId) -> Option<&'tcx Block> { +pub fn get_enclosing_block<'a, 'tcx>(cx: &LateContext<'a, 'tcx>, hir_id: HirId) -> Option<&'tcx Block> { let map = &cx.tcx.hir(); let enclosing_node = map .get_enclosing_scope(hir_id) diff --git a/clippy_lints/src/utils/ptr.rs b/clippy_lints/src/utils/ptr.rs index fb2e3a38d778..e378ef0c0a90 100644 --- a/clippy_lints/src/utils/ptr.rs +++ b/clippy_lints/src/utils/ptr.rs @@ -22,7 +22,7 @@ pub fn get_spans( } } -fn extract_clone_suggestions<'a, 'tcx: 'a>( +fn extract_clone_suggestions<'a, 'tcx>( cx: &LateContext<'a, 'tcx>, name: Name, replace: &[(&'static str, &'static str)], @@ -43,7 +43,7 @@ fn extract_clone_suggestions<'a, 'tcx: 'a>( } } -struct PtrCloneVisitor<'a, 'tcx: 'a> { +struct PtrCloneVisitor<'a, 'tcx> { cx: &'a LateContext<'a, 'tcx>, name: Name, replace: &'a [(&'static str, &'static str)], @@ -51,7 +51,7 @@ struct PtrCloneVisitor<'a, 'tcx: 'a> { abort: bool, } -impl<'a, 'tcx: 'a> Visitor<'tcx> for PtrCloneVisitor<'a, 'tcx> { +impl<'a, 'tcx> Visitor<'tcx> for PtrCloneVisitor<'a, 'tcx> { fn visit_expr(&mut self, expr: &'tcx Expr) { if self.abort { return; diff --git a/clippy_lints/src/utils/usage.rs b/clippy_lints/src/utils/usage.rs index 014dc9d4d801..5474837d8a78 100644 --- a/clippy_lints/src/utils/usage.rs +++ b/clippy_lints/src/utils/usage.rs @@ -9,7 +9,7 @@ use rustc_data_structures::fx::FxHashSet; use syntax::source_map::Span; /// Returns a set of mutated local variable IDs, or `None` if mutations could not be determined. -pub fn mutated_variables<'a, 'tcx: 'a>(expr: &'tcx Expr, cx: &'a LateContext<'a, 'tcx>) -> Option> { +pub fn mutated_variables<'a, 'tcx>(expr: &'tcx Expr, cx: &'a LateContext<'a, 'tcx>) -> Option> { let mut delegate = MutVarsDelegate { used_mutably: FxHashSet::default(), skip: false, @@ -33,11 +33,7 @@ pub fn mutated_variables<'a, 'tcx: 'a>(expr: &'tcx Expr, cx: &'a LateContext<'a, Some(delegate.used_mutably) } -pub fn is_potentially_mutated<'a, 'tcx: 'a>( - variable: &'tcx Path, - expr: &'tcx Expr, - cx: &'a LateContext<'a, 'tcx>, -) -> bool { +pub fn is_potentially_mutated<'a, 'tcx>(variable: &'tcx Path, expr: &'tcx Expr, cx: &'a LateContext<'a, 'tcx>) -> bool { if let Res::Local(id) = variable.res { mutated_variables(expr, cx).map_or(true, |mutated| mutated.contains(&id)) } else { diff --git a/tests/ui/new_without_default.rs b/tests/ui/new_without_default.rs index 82aec070b404..dbc7d597b2c1 100644 --- a/tests/ui/new_without_default.rs +++ b/tests/ui/new_without_default.rs @@ -122,9 +122,9 @@ impl IgnoreUnsafeNew { } #[derive(Default)] -pub struct OptionRefWrapper<'a, T: 'a>(Option<&'a T>); +pub struct OptionRefWrapper<'a, T>(Option<&'a T>); -impl<'a, T: 'a> OptionRefWrapper<'a, T> { +impl<'a, T> OptionRefWrapper<'a, T> { pub fn new() -> Self { OptionRefWrapper(None) } diff --git a/tests/ui/transmute.rs b/tests/ui/transmute.rs index 86964f8480a4..6ec7697c0d6e 100644 --- a/tests/ui/transmute.rs +++ b/tests/ui/transmute.rs @@ -53,7 +53,7 @@ unsafe fn _ptr_to_ref(p: *const T, m: *mut T, o: *const U, om: *mut U) { #[warn(clippy::transmute_ptr_to_ref)] fn issue1231() { - struct Foo<'a, T: 'a> { + struct Foo<'a, T> { bar: &'a T, }