rust-lang / rust-lang/rust-analyzer
internal: bump `dashmap`
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 16.9k
- Forks
- 2.2k
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 72
Description
We should bump dashmap to 7.0.0-rc2 (or whatever the latest version is) in both rust-analyzer and Salsa. This bump would allow us to remove the our dependency on hashbrown's raw API and use hashbrown::HashTable—via Dashmap—directly.
When I gave this a spin last week, the new entry API on HashTable—and, by extension—Dashmap requires some slight adjustments to [define_symbols](https://github.com/rust-lang/rust-analyzer/blob/3ed13b4a917d8028de0808a26ef14eb0abb01035/crates/intern/src/symbol/symbols.rs#L14), but I got distracted by some other stuff before I could finish.
(The 6.0.0 series has some nice performance improvements that'd be nice to take advantage of.)
Originally posted by @davidbarsky in https://github.com/rust-lang/rust-analyzer/pull/19430#discussion_r2009139032
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the dashmap dependency declarations for rust-analyzer and Salsa, then read crates/intern/src/symbol/symbols.rs around define_symbols. Check the current DashMap and hashbrown usage and the required entry-API adjustments. Done means both projects use the requested latest DashMap version and no longer depend on hashbrown's raw API.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- devtools
- Issue type
- Refactor
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100