Fix bug in TyKind lint

This commit is contained in:
flip1995 2019-03-19 22:46:45 +01:00
parent 9b2bf70851
commit 5a788f0ff7
No known key found for this signature in database
GPG Key ID: 693086869D506637

View File

@ -1,7 +1,7 @@
//! Some lints that are only useful in the compiler or crates that use compiler internals, such as
//! Clippy.
use crate::hir::{HirId, Path, QPath, Ty, TyKind};
use crate::hir::{def::Def, HirId, Path, QPath, Ty, TyKind};
use crate::lint::{
EarlyContext, EarlyLintPass, LateContext, LateLintPass, LintArray, LintContext, LintPass,
};
@ -92,10 +92,12 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for TyKindUsage {
segments: segments_iter.cloned().collect(),
};
if let Some(def) = last.def {
if def
.def_id()
.match_path(cx.tcx, &["rustc", "ty", "sty", "TyKind"])
match last.def {
Some(Def::Err) => (),
Some(def)
if def
.def_id()
.match_path(cx.tcx, &["rustc", "ty", "sty", "TyKind"]) =>
{
cx.struct_span_lint(
USAGE_OF_TY_TYKIND,
@ -110,6 +112,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for TyKindUsage {
)
.emit();
}
_ => (),
}
}
}