Unnamed repository; edit this file 'description' to name the repository.
internal: Don't rely on FxHashSet order
Previously, SCIP generation would iterate over all the external symbols by calling `.difference()` on an FxHashSet and iterating over them. If any tokens had a moniker but no definition, the loop would terminate early. AFAICS this code is unreachable today (all the monikers also have definitions), but the code is clearly wrong. Ensure we process all tokens regardless of the order.
Wilfred Hughes 4 weeks ago
parent 06070f3 · commit 0a8bbb9
-rw-r--r--crates/rust-analyzer/src/cli/scip.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/crates/rust-analyzer/src/cli/scip.rs b/crates/rust-analyzer/src/cli/scip.rs
index bca38ed82f..d3acbb934d 100644
--- a/crates/rust-analyzer/src/cli/scip.rs
+++ b/crates/rust-analyzer/src/cli/scip.rs
@@ -237,7 +237,7 @@ impl flags::Scip {
let token = si.tokens.get(id).unwrap();
let Some(definition) = token.definition else {
- break;
+ continue;
};
let file_id = definition.file_id;