about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/librustc/lint/internal.rs13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/librustc/lint/internal.rs b/src/librustc/lint/internal.rs
index 7d820764549..3ae07968296 100644
--- a/src/librustc/lint/internal.rs
+++ b/src/librustc/lint/internal.rs
@@ -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();
                     }
+                    _ => (),
                 }
             }
         }