6751: Use the right `def_crate` for builtin macros r=jonas-schievink a=jonas-schievink

Fixes the incorrect macro resolution in https://github.com/rust-analyzer/rust-analyzer/issues/6716

No test, because diagnostics do not get remapped correctly for some reason. I've checked manually that this fixes the resolution errors.

bors r+

Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
This commit is contained in:
bors[bot] 2020-12-07 18:41:07 +00:00 committed by GitHub
commit 8a950dfb40
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -30,7 +30,7 @@ impl Hygiene {
let loc = db.lookup_intern_macro(id); let loc = db.lookup_intern_macro(id);
match loc.def.kind { match loc.def.kind {
MacroDefKind::Declarative => (loc.def.krate, loc.def.local_inner), MacroDefKind::Declarative => (loc.def.krate, loc.def.local_inner),
MacroDefKind::BuiltIn(_) => (None, false), MacroDefKind::BuiltIn(_) => (loc.def.krate, false),
MacroDefKind::BuiltInDerive(_) => (None, false), MacroDefKind::BuiltInDerive(_) => (None, false),
MacroDefKind::BuiltInEager(_) => (None, false), MacroDefKind::BuiltInEager(_) => (None, false),
MacroDefKind::ProcMacro(_) => (None, false), MacroDefKind::ProcMacro(_) => (None, false),