Skip to content

fix: repair toolchains missing their installed manifest#4954

Open
ychampion wants to merge 3 commits into
rust-lang:mainfrom
ychampion:fix/missing-toolchain-manifest
Open

fix: repair toolchains missing their installed manifest#4954
ychampion wants to merge 3 commits into
rust-lang:mainfrom
ychampion:fix/missing-toolchain-manifest

Conversation

@ychampion

@ychampion ychampion commented Jul 12, 2026

Copy link
Copy Markdown
Contributor

Summary

  • fetch the channel manifest when the installed v2 manifest is missing
  • repair damaged toolchains through both explicit install and all-channel update paths

Why

A matching update hash could skip the channel manifest download even after the installed manifest was deleted, leaving the toolchain broken while rustup reported it as unchanged.

Fixes #4825.

Validation

  • cargo test --features=test --test test_bonanza suite::cli_rustup:: - 130 passed
  • cargo test --features=test --lib v2_manifest_checksum_mismatch_surfaces_error - passed
  • cargo clippy --features=test --all-targets -- -D warnings - passed
  • cargo fmt --all -- --check - passed

Comment thread src/toolchain/distributable.rs Outdated
Comment thread src/dist/mod.rs Outdated
Comment thread src/dist/mod.rs Outdated
@ychampion ychampion force-pushed the fix/missing-toolchain-manifest branch from 46a54f0 to 3a17c15 Compare July 12, 2026 18:52
Comment thread src/dist/manifestation.rs Outdated
Comment thread src/dist/mod.rs Outdated

@djc djc left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please drop the slop from the commit messages.

View changes since this review

Comment thread tests/suite/cli_rustup.rs Outdated
@ychampion

Copy link
Copy Markdown
Contributor Author

Ok looking

@ychampion ychampion force-pushed the fix/missing-toolchain-manifest branch from 3a17c15 to c015a92 Compare July 13, 2026 13:28
@ychampion

Copy link
Copy Markdown
Contributor Author

Done. I rewrote both commit messages as concise subjects and verified that the resulting tree is unchanged.

@djc

djc commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Done. I rewrote both commit messages as concise subjects and verified that the resulting tree is unchanged.

Did you miss the earlier feedback from @rami3l?

Tested: cargo test --features test --test test_bonanza missing_manifest

Tested: cargo check --all --all-targets --features test
@ychampion

Copy link
Copy Markdown
Contributor Author

Done. I rewrote both commit messages as concise subjects and verified that the resulting tree is unchanged.

Did you miss the earlier feedback from @rami3l?

Yeah maybe, could you reference it?

@djc

djc commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Done. I rewrote both commit messages as concise subjects and verified that the resulting tree is unchanged.

Did you miss the earlier feedback from @rami3l?

Yeah maybe, could you reference it?

I meant the commit you added, but the new commit should be squashed into the first one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

rustup toolchain install <toolchain> reports unchanged for toolchains missing their manifest

3 participants