X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=clippy_lints%2Fsrc%2Futils%2Finternal_lints.rs;h=226817c8e51f0f140835f9c3f2fb09926b303cd6;hb=b109e1033476390f95c728d674909ef90f0ff0ca;hp=a2832ef7af23ea442b718ae386620f3202034c7f;hpb=3fe6454c815b9dd5997cb93b3a82f39695a0eb5b;p=rust.git diff --git a/clippy_lints/src/utils/internal_lints.rs b/clippy_lints/src/utils/internal_lints.rs index a2832ef7af2..226817c8e51 100644 --- a/clippy_lints/src/utils/internal_lints.rs +++ b/clippy_lints/src/utils/internal_lints.rs @@ -1,11 +1,13 @@ use rustc::lint::*; +use rustc::{declare_lint, lint_array}; use rustc::hir::*; -use rustc::hir::intravisit::{Visitor, walk_expr, NestedVisitorMap}; -use utils::{paths, match_qpath, span_lint}; -use syntax::symbol::InternedString; -use syntax::ast::{Name, NodeId, ItemKind, Crate as AstCrate}; +use rustc::hir; +use rustc::hir::intravisit::{walk_expr, NestedVisitorMap, Visitor}; +use crate::utils::{match_qpath, paths, span_lint}; +use syntax::symbol::LocalInternedString; +use syntax::ast::{Crate as AstCrate, ItemKind, Name}; use syntax::codemap::Span; -use std::collections::{HashSet, HashMap}; +use std::collections::{HashMap, HashSet}; /// **What it does:** Checks for various things we like to keep tidy in clippy. @@ -15,9 +17,9 @@ /// **Known problems:** None. /// /// **Example:** Wrong ordering of the util::paths constants. -declare_lint! { +declare_clippy_lint! { pub CLIPPY_LINTS_INTERNAL, - Allow, + internal, "various things that will negatively affect your clippy experience" } @@ -45,9 +47,9 @@ /// } /// } /// ``` -declare_lint! { +declare_clippy_lint! { pub LINT_WITHOUT_LINT_PASS, - Warn, + internal, "declaring a lint without associating it in a LintPass" } @@ -62,20 +64,23 @@ fn get_lints(&self) -> LintArray { } impl EarlyLintPass for Clippy { - fn check_crate(&mut self, cx: &EarlyContext, krate: &AstCrate) { - if let Some(utils) = krate.module.items.iter().find( - |item| item.ident.name == "utils", - ) + fn check_crate(&mut self, cx: &EarlyContext<'_>, krate: &AstCrate) { + if let Some(utils) = krate + .module + .items + .iter() + .find(|item| item.ident.name == "utils") { if let ItemKind::Mod(ref utils_mod) = utils.node { - if let Some(paths) = utils_mod.items.iter().find( - |item| item.ident.name == "paths", - ) + if let Some(paths) = utils_mod + .items + .iter() + .find(|item| item.ident.name == "paths") { if let ItemKind::Mod(ref paths_mod) = paths.node { - let mut last_name: Option = None; + let mut last_name: Option = None; for item in &paths_mod.items { - let name = item.ident.name.as_str(); + let name = item.ident.as_str(); if let Some(ref last_name) = last_name { if **last_name > *name { span_lint( @@ -83,7 +88,7 @@ fn check_crate(&mut self, cx: &EarlyContext, krate: &AstCrate) { CLIPPY_LINTS_INTERNAL, item.span, "this constant should be before the previous constant due to lexical \ - ordering", + ordering", ); } } @@ -114,15 +119,17 @@ fn get_lints(&self) -> LintArray { impl<'a, 'tcx> LateLintPass<'a, 'tcx> for LintWithoutLintPass { fn check_item(&mut self, cx: &LateContext<'a, 'tcx>, item: &'tcx Item) { - if let ItemStatic(ref ty, MutImmutable, body_id) = item.node { + if let hir::ItemKind::Static(ref ty, MutImmutable, body_id) = item.node { if is_lint_ref_type(ty) { self.declared_lints.insert(item.name, item.span); - } else if is_lint_array_type(ty) && item.vis == Visibility::Inherited && item.name == "ARRAY" { - let mut collector = LintCollector { - output: &mut self.registered_lints, - cx: cx, - }; - collector.visit_expr(&cx.tcx.hir.body(body_id).value); + } else if is_lint_array_type(ty) && item.name == "ARRAY" { + if let VisibilityKind::Inherited = item.vis.node { + let mut collector = LintCollector { + output: &mut self.registered_lints, + cx, + }; + collector.visit_expr(&cx.tcx.hir.body(body_id).value); + } } } } @@ -157,16 +164,15 @@ fn check_crate_post(&mut self, cx: &LateContext<'a, 'tcx>, _: &'tcx Crate) { fn is_lint_ref_type(ty: &Ty) -> bool { - if let TyRptr(ref lt, - MutTy { - ty: ref inner, - mutbl: MutImmutable, - }) = ty.node + if let TyKind::Rptr( + _, + MutTy { + ty: ref inner, + mutbl: MutImmutable, + }, + ) = ty.node { - if lt.is_elided() { - return false; - } - if let TyPath(ref path) = inner.node { + if let TyKind::Path(ref path) = inner.node { return match_qpath(path, &paths::LINT); } } @@ -175,7 +181,7 @@ fn is_lint_ref_type(ty: &Ty) -> bool { fn is_lint_array_type(ty: &Ty) -> bool { - if let TyPath(ref path) = ty.node { + if let TyKind::Path(ref path) = ty.node { match_qpath(path, &paths::LINT_ARRAY) } else { false @@ -192,9 +198,9 @@ fn visit_expr(&mut self, expr: &'tcx Expr) { walk_expr(self, expr); } - fn visit_path(&mut self, path: &'tcx Path, _: NodeId) { + fn visit_path(&mut self, path: &'tcx Path, _: HirId) { if path.segments.len() == 1 { - self.output.insert(path.segments[0].name); + self.output.insert(path.segments[0].ident.name); } } fn nested_visit_map<'this>(&'this mut self) -> NestedVisitorMap<'this, 'tcx> {