Skip to content

fix: repair toolchains missing their installed manifest#4954

Merged
rami3l merged 2 commits into
rust-lang:mainfrom
ychampion:fix/missing-toolchain-manifest
Jul 14, 2026
Merged

fix: repair toolchains missing their installed manifest#4954
rami3l merged 2 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?

@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.

@ychampion
ychampion force-pushed the fix/missing-toolchain-manifest branch from 0b0f437 to edf5664 Compare July 14, 2026 14:30
@ychampion

Copy link
Copy Markdown
Contributor Author

Done. I folded the follow-up into the first commit, so the branch is back to two commits.

@rami3l rami3l left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@rami3l
rami3l added this pull request to the merge queue Jul 14, 2026
Merged via the queue into rust-lang:main with commit fadde36 Jul 14, 2026
31 checks passed
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