Unnamed repository; edit this file 'description' to name the repository.
-rw-r--r--crates/rust-analyzer/src/cli/scip.rs4
1 files changed, 3 insertions, 1 deletions
diff --git a/crates/rust-analyzer/src/cli/scip.rs b/crates/rust-analyzer/src/cli/scip.rs
index a8a02712fe..ceb8534fdf 100644
--- a/crates/rust-analyzer/src/cli/scip.rs
+++ b/crates/rust-analyzer/src/cli/scip.rs
@@ -142,7 +142,9 @@ impl flags::Scip {
let mut symbol_roles = Default::default();
if let Some(def) = token.definition {
- if def.range == text_range {
+ // if the the range of the def and the range of the token are the same, this must be the definition.
+ // they also must be in the same file. See https://github.com/rust-lang/rust-analyzer/pull/17988
+ if def.file_id == file_id && def.range == text_range {
symbol_roles |= scip_types::SymbolRole::Definition as i32;
}