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.rs8
1 files changed, 6 insertions, 2 deletions
diff --git a/crates/ide-db/src/search.rs b/crates/ide-db/src/search.rs
index a0655341fa..8922eb6587 100644
--- a/crates/ide-db/src/search.rs
+++ b/crates/ide-db/src/search.rs
@@ -615,7 +615,7 @@ impl<'a> FindUsages<'a> {
search_scope: &SearchScope,
name: &str,
) -> bool {
- if self.scope.is_some() || self.exclude_library_files {
+ if self.scope.is_some() {
return false;
}
@@ -897,12 +897,16 @@ impl<'a> FindUsages<'a> {
let finder = Finder::new(name.as_bytes());
// The search for `Self` may return duplicate results with `ContainerName`, so deduplicate them.
let mut self_positions = FxHashSet::default();
+ let is_possibly_self = is_possibly_self.into_iter().filter(|position| {
+ !self.exclude_library_files
+ || !is_library_file(self.sema.db, position.file_id.file_id(self.sema.db))
+ });
tracing::info_span!("Self_search").in_scope(|| {
search(
self,
&finder,
name,
- is_possibly_self.into_iter().map(|position| {
+ is_possibly_self.map(|position| {
(position.file_text(self.sema.db).clone(), position.file_id, position.range)
}),
|path, name_position| {