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.rs | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/crates/ide_db/src/search.rs b/crates/ide_db/src/search.rs index 431a36d8a2..855675be42 100644 --- a/crates/ide_db/src/search.rs +++ b/crates/ide_db/src/search.rs @@ -61,7 +61,7 @@ pub struct FileReference { pub access: Option<ReferenceAccess>, } -#[derive(Debug, Copy, Clone, PartialEq)] +#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum ReferenceAccess { Read, Write, @@ -393,7 +393,7 @@ impl<'a> FindUsages<'a> { continue; } - if let Some(name) = sema.find_node_at_offset_with_descend(&tree, offset) { + for name in sema.find_nodes_at_offset_with_descend(&tree, offset) { if match name { ast::NameLike::NameRef(name_ref) => self.found_name_ref(&name_ref, sink), ast::NameLike::Name(name) => self.found_name(&name, sink), @@ -410,9 +410,7 @@ impl<'a> FindUsages<'a> { continue; } - if let Some(ast::NameLike::NameRef(name_ref)) = - sema.find_node_at_offset_with_descend(&tree, offset) - { + for name_ref in sema.find_nodes_at_offset_with_descend(&tree, offset) { if self.found_self_ty_name_ref(self_ty, &name_ref, sink) { return; } |