Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide/src/static_index.rs')
| -rw-r--r-- | crates/ide/src/static_index.rs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/crates/ide/src/static_index.rs b/crates/ide/src/static_index.rs index 77d202cc39..d5bfbd1894 100644 --- a/crates/ide/src/static_index.rs +++ b/crates/ide/src/static_index.rs @@ -6,7 +6,7 @@ use std::collections::HashMap; use hir::{db::HirDatabase, Crate, Module, Semantics}; use ide_db::{ base_db::{FileId, FileRange, SourceDatabaseExt}, - defs::Definition, + defs::{Definition, IdentClass}, RootDatabase, }; use rustc_hash::FxHashSet; @@ -195,9 +195,9 @@ impl StaticIndex<'_> { fn get_definition(sema: &Semantics<RootDatabase>, token: SyntaxToken) -> Option<Definition> { for token in sema.descend_into_macros(token) { - let def = Definition::from_token(sema, &token); - if let [x] = def.as_slice() { - return Some(*x); + let def = IdentClass::classify_token(sema, &token).map(IdentClass::definitions); + if let Some(&[x]) = def.as_deref() { + return Some(x); } else { continue; }; |