This commit is contained in:
kjeremy 2019-10-31 13:29:56 -04:00
parent 5451bfb9a1
commit c46be83a34
2 changed files with 22 additions and 1 deletions

View File

@ -255,7 +255,9 @@ pub fn resolve_hir_path(
let items =
self.resolver.resolve_module_path(db, &path).take_types().map(PathResolution::Def);
types.or(values).or(items)
types.or(values).or(items).or_else(|| {
self.resolver.resolve_path_as_macro(db, &path).map(|def| PathResolution::Macro(def))
})
}
pub fn resolve_path(&self, db: &impl HirDatabase, path: &ast::Path) -> Option<PathResolution> {

View File

@ -315,6 +315,25 @@ macro_rules! foo {
);
}
#[test]
fn goto_definition_works_for_macros_in_use_tree() {
check_goto(
"
//- /lib.rs
use foo::foo<|>;
//- /foo/lib.rs
#[macro_export]
macro_rules! foo {
() => {
{}
};
}
",
"foo MACRO_CALL FileId(2) [0; 66) [29; 32)",
);
}
#[test]
fn goto_definition_works_for_methods() {
covers!(goto_definition_works_for_methods);