diff options
Diffstat (limited to 'crates/ra_hir_expand/src/hygiene.rs')
-rw-r--r-- | crates/ra_hir_expand/src/hygiene.rs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/crates/ra_hir_expand/src/hygiene.rs b/crates/ra_hir_expand/src/hygiene.rs index 2e8a533f7..ed0e7aa78 100644 --- a/crates/ra_hir_expand/src/hygiene.rs +++ b/crates/ra_hir_expand/src/hygiene.rs | |||
@@ -23,7 +23,10 @@ impl Hygiene { | |||
23 | let def_crate = match file_id.0 { | 23 | let def_crate = match file_id.0 { |
24 | HirFileIdRepr::FileId(_) => None, | 24 | HirFileIdRepr::FileId(_) => None, |
25 | HirFileIdRepr::MacroFile(macro_file) => { | 25 | HirFileIdRepr::MacroFile(macro_file) => { |
26 | let loc = db.lookup_intern_macro(macro_file.macro_call_id); | 26 | let lazy_id = match macro_file.macro_call_id { |
27 | crate::MacroCallId::LazyMacro(id) => id, | ||
28 | }; | ||
29 | let loc = db.lookup_intern_macro(lazy_id); | ||
27 | match loc.def.kind { | 30 | match loc.def.kind { |
28 | MacroDefKind::Declarative => loc.def.krate, | 31 | MacroDefKind::Declarative => loc.def.krate, |
29 | MacroDefKind::BuiltIn(_) => None, | 32 | MacroDefKind::BuiltIn(_) => None, |