]> git.lizzy.rs Git - rust.git/blobdiff - clippy_lints/src/redundant_static_lifetimes.rs
Auto merge of #5334 - flip1995:backport_remerge, r=flip1995
[rust.git] / clippy_lints / src / redundant_static_lifetimes.rs
index 4d9fbbca83edf917f7bb0281db0a7d8ca0674eb7..4a7a15aba5be2385865c332a3507158f15cdeca6 100644 (file)
@@ -1,8 +1,8 @@
-use crate::utils::{in_macro_or_desugar, snippet, span_lint_and_then};
-use rustc::lint::{EarlyContext, EarlyLintPass, LintArray, LintPass};
-use rustc::{declare_lint_pass, declare_tool_lint};
+use crate::utils::{snippet, span_lint_and_then};
+use rustc_ast::ast::{Item, ItemKind, Ty, TyKind};
 use rustc_errors::Applicability;
-use syntax::ast::*;
+use rustc_lint::{EarlyContext, EarlyLintPass};
+use rustc_session::{declare_lint_pass, declare_tool_lint};
 
 declare_clippy_lint! {
     /// **What it does:** Checks for constants and statics with an explicit `'static` lifetime.
@@ -34,7 +34,7 @@
 impl RedundantStaticLifetimes {
     // Recursively visit types
     fn visit_type(&mut self, ty: &Ty, cx: &EarlyContext<'_>, reason: &str) {
-        match ty.node {
+        match ty.kind {
             // Be careful of nested structures (arrays and tuples)
             TyKind::Array(ref ty, _) => {
                 self.visit_type(&*ty, cx, reason);
@@ -48,9 +48,9 @@ fn visit_type(&mut self, ty: &Ty, cx: &EarlyContext<'_>, reason: &str) {
             TyKind::Rptr(ref optional_lifetime, ref borrow_type) => {
                 // Match the 'static lifetime
                 if let Some(lifetime) = *optional_lifetime {
-                    match borrow_type.ty.node {
+                    match borrow_type.ty.kind {
                         TyKind::Path(..) | TyKind::Slice(..) | TyKind::Array(..) | TyKind::Tup(..) => {
-                            if lifetime.ident.name == syntax::symbol::kw::StaticLifetime {
+                            if lifetime.ident.name == rustc_span::symbol::kw::StaticLifetime {
                                 let snip = snippet(cx, borrow_type.ty.span, "<type>");
                                 let sugg = format!("&{}", snip);
                                 span_lint_and_then(cx, REDUNDANT_STATIC_LIFETIMES, lifetime.ident.span, reason, |db| {
@@ -78,14 +78,14 @@ fn visit_type(&mut self, ty: &Ty, cx: &EarlyContext<'_>, reason: &str) {
 
 impl EarlyLintPass for RedundantStaticLifetimes {
     fn check_item(&mut self, cx: &EarlyContext<'_>, item: &Item) {
-        if !in_macro_or_desugar(item.span) {
-            if let ItemKind::Const(ref var_type, _) = item.node {
+        if !item.span.from_expansion() {
+            if let ItemKind::Const(_, ref var_type, _) = item.kind {
                 self.visit_type(var_type, cx, "Constants have by default a `'static` lifetime");
                 // Don't check associated consts because `'static` cannot be elided on those (issue
                 // #2438)
             }
 
-            if let ItemKind::Static(ref var_type, _, _) = item.node {
+            if let ItemKind::Static(ref var_type, _, _) = item.kind {
                 self.visit_type(var_type, cx, "Statics have by default a `'static` lifetime");
             }
         }