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.
| -rw-r--r-- | crates/rust-analyzer/src/cli/scip.rs | 2 |
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; |