Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-db/src/search.rs')
-rw-r--r--crates/ide-db/src/search.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/crates/ide-db/src/search.rs b/crates/ide-db/src/search.rs
index c75364084e..bd038cdaa0 100644
--- a/crates/ide-db/src/search.rs
+++ b/crates/ide-db/src/search.rs
@@ -54,7 +54,9 @@ impl IntoIterator for UsageSearchResult {
#[derive(Debug, Clone)]
pub struct FileReference {
+ /// The range of the reference in the original file
pub range: TextRange,
+ /// The node of the reference in the (macro-)file
pub name: ast::NameLike,
pub category: Option<ReferenceCategory>,
}
@@ -276,16 +278,16 @@ impl Definition {
}
}
hir::MacroKind::BuiltIn => SearchScope::crate_graph(db),
- // FIXME: We don't actually see derives in derive attributes as these do not
- // expand to something that references the derive macro in the output.
- // We could get around this by doing pseudo expansions for proc_macro_derive like we
- // do for the derive attribute
hir::MacroKind::Derive | hir::MacroKind::Attr | hir::MacroKind::ProcMacro => {
SearchScope::reverse_dependencies(db, module.krate())
}
};
}
+ if let Definition::DeriveHelper(_) = self {
+ return SearchScope::reverse_dependencies(db, module.krate());
+ }
+
let vis = self.visibility(db);
if let Some(Visibility::Public) = vis {
return SearchScope::reverse_dependencies(db, module.krate());