use matches::matches;
-use rustc::hir::def::Def;
+use rustc::hir::def::{DefKind, Res};
use rustc::hir::intravisit::*;
use rustc::hir::*;
use rustc::lint::{in_external_macro, LateContext, LateLintPass, LintArray, LintContext, LintPass};
use rustc::{declare_lint_pass, declare_tool_lint};
use rustc_data_structures::fx::{FxHashMap, FxHashSet};
use syntax::source_map::Span;
-use syntax::symbol::keywords;
+use syntax::symbol::kw;
use crate::reexport::*;
use crate::utils::{last_path_segment, span_lint};
})
{
let hir_id = ty.hir_id;
- match self.cx.tables.qpath_def(qpath, hir_id) {
- Def::TyAlias(def_id) | Def::Struct(def_id) => {
+ match self.cx.tables.qpath_res(qpath, hir_id) {
+ Res::Def(DefKind::TyAlias, def_id) | Res::Def(DefKind::Struct, def_id) => {
let generics = self.cx.tcx.generics_of(def_id);
for _ in generics.params.as_slice() {
self.record(&None);
}
},
- Def::Trait(def_id) => {
+ Res::Def(DefKind::Trait, def_id) => {
let trait_def = self.cx.tcx.trait_def(def_id);
for _ in &self.cx.tcx.generics_of(trait_def.def_id).params {
self.record(&None);
impl<'tcx> Visitor<'tcx> for BodyLifetimeChecker {
// for lifetimes as parameters of generics
fn visit_lifetime(&mut self, lifetime: &'tcx Lifetime) {
- if lifetime.name.ident().name != keywords::Invalid.name() && lifetime.name.ident().name != "'static" {
+ if lifetime.name.ident().name != kw::Invalid
+ && lifetime.name.ident().name != kw::StaticLifetime
+ {
self.lifetimes_used_in_body = true;
}
}