Update comment and make code clearer

I'm still not sure why this hack works so seemingly well.
This commit is contained in:
Noah Lev 2022-01-06 15:06:35 -08:00
parent 591ec49df3
commit a5f09f74d6

View File

@ -6,13 +6,12 @@
use rustc_data_structures::{fx::FxHashMap, stable_set::FxHashSet}; use rustc_data_structures::{fx::FxHashMap, stable_set::FxHashSet};
use rustc_errors::{Applicability, DiagnosticBuilder}; use rustc_errors::{Applicability, DiagnosticBuilder};
use rustc_expand::base::SyntaxExtensionKind; use rustc_expand::base::SyntaxExtensionKind;
use rustc_hir as hir;
use rustc_hir::def::{ use rustc_hir::def::{
DefKind, DefKind,
Namespace::{self, *}, Namespace::{self, *},
PerNS, PerNS,
}; };
use rustc_hir::def_id::{CrateNum, DefId}; use rustc_hir::def_id::{CrateNum, DefId, CRATE_DEF_ID};
use rustc_middle::ty::{DefIdTree, Ty, TyCtxt}; use rustc_middle::ty::{DefIdTree, Ty, TyCtxt};
use rustc_middle::{bug, span_bug, ty}; use rustc_middle::{bug, span_bug, ty};
use rustc_resolve::ParentScope; use rustc_resolve::ParentScope;
@ -1736,9 +1735,9 @@ fn article(self) -> &'static str {
fn descr(self) -> &'static str { fn descr(self) -> &'static str {
match self { match self {
Self::Namespace(n) => n.descr(), Self::Namespace(n) => n.descr(),
// HACK(jynelson): by looking at the source I saw the DefId we pass // HACK(jynelson): the source of `DefKind::descr` only uses the DefId for
// for `expected.descr()` doesn't matter, since it's not a crate // printing "module" vs "crate" so using the wrong ID is not a huge problem
Self::Kind(k) => k.descr(DefId::local(hir::def_id::DefIndex::from_usize(0))), Self::Kind(k) => k.descr(CRATE_DEF_ID.to_def_id()),
Self::Primitive => "builtin type", Self::Primitive => "builtin type",
} }
} }