rust-lang / rust-lang/rust-analyzer

Add progress indication for `Updating crates.io index`

Open
#15,767 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

A-cargo C-feature S-blocked
Dominant language
Rust
Stars
16.9k
Forks
2.2k
Avg merge
1d 12h
Merged PRs (30d)
72

Description

Hello! I recently opened a Rust workspace, and Rust Analyzer just did something for 10 minutes. There was no progress indication, just a "Fetching" (or was it "Fetching index") with a spinner. No 1/X, no x% done, no logs (in VSCode > Tasks > RA).

Since I had no idea what it was doing (what does "Fetching index" mean?), I opened Task manager and killed its cargo progress. For all that I knew, cargo could have been stuck in an infinite loop of some kind. After I did that, RA complained, logging that some cargo command failed to execute, and restarted cargo. And there I was back to waiting, with no progress indication, still having no idea what it was doing.

So what happened? Cargo was Updating crates.io index. It was resolving/downloading 90k deltas since I hadn't used that version of Rust for a while (I have multiple rust tool chains installed), and that took some time. Around 20 minutes. Even on my more commonly-used tool chains, updating the index regularly takes multiple seconds and up to a minute on my machine (I have slow internet).

Please add progress indication for updating the crates.io index.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files or tests are named in the issue. Start by tracing how rust-analyzer exposes Cargo progress in the VS Code Tasks view, then inspect how the Updating crates.io index phase is surfaced beyond the current spinner. Done means users can tell that the index is being updated and can see meaningful progress while the operation runs.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
developer-experience, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.