From 2ecb126f5caeb248e333f8559eb1b7dfd34cc744 Mon Sep 17 00:00:00 2001 From: uHOOCCOOHu Date: Fri, 27 Sep 2019 01:59:38 +0800 Subject: Support `$crate` in item and expr place. --- crates/ra_hir/src/impl_block.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'crates/ra_hir/src/impl_block.rs') diff --git a/crates/ra_hir/src/impl_block.rs b/crates/ra_hir/src/impl_block.rs index d830202bd..c66a1c6a6 100644 --- a/crates/ra_hir/src/impl_block.rs +++ b/crates/ra_hir/src/impl_block.rs @@ -218,7 +218,10 @@ impl ModuleImplBlocks { ast::ItemOrMacro::Macro(macro_call) => { //FIXME: we should really cut down on the boilerplate required to process a macro let ast_id = db.ast_id_map(file_id).ast_id(¯o_call).with_file_id(file_id); - if let Some(path) = macro_call.path().and_then(Path::from_ast) { + if let Some(path) = macro_call + .path() + .and_then(|path| Path::from_src(Source { ast: path, file_id }, db)) + { if let Some(def) = self.module.resolver(db).resolve_path_as_macro(db, &path) { let call_id = MacroCallLoc { def: def.id, ast_id }.id(db); -- cgit v1.2.3