Summary
rust-docs-mcp doc-builds with a hard-pinned nightly toolchain. Any crate (or transitive dependency) whose MSRV is newer than that pin fails to cache entirely, with no workaround other than downgrading the crate being documented. Follow-up to #44, which asked about the pin but was closed without an answer.
Environment
- rust-docs-mcp 0.1.1 (latest on crates.io, installed via
cargo install rust-docs-mcp)
- Windows 11, rustup 1.29.0
- Pin in 0.1.1:
nightly-2025-06-23 (rustc 1.89.0-nightly)
Concrete failures (both hit today)
1. Local workspace crate with an MSRV-forward dependency:
Failed to cache member crates/math-wasm: Failed to generate documentation:
error: rustc 1.89.0-nightly is not supported by the following package:
csgrs@0.21.0 requires rustc 1.95.0
2. crates.io crate using since-stabilized syntax (yrs 0.27.2):
error[E0658]: `if let` guards are experimental
--> src\block.rs:1019:17
= note: this compiler was built on 2025-06-22; consider upgrading it if it is out of date
The newest yrs that caches is 0.23.5 — the last release that predates the pinned toolchain's build date. As the ecosystem moves, the set of cacheable crates only shrinks until the pin is bumped and released.
Two compounding problems
- The published release lags the pin on main.
main already pins nightly-2026-05-22, but 0.1.1 (Oct 2025) is the latest release on crates.io, so cargo install users get a pin that is now ~a year stale.
- Any fixed pin decays. Even the current
nightly-2026-05-22 will reject crates adopting features stabilized after it. The failure mode is total (crate cannot be cached at all), not degraded.
Suggestions (any of these would help)
- Allow overriding the toolchain via env var / config (e.g.
RUST_DOCS_MCP_TOOLCHAIN=nightly), keeping the pin only as the tested default.
- Fall back to the newest installed nightly when the doc build fails with an MSRV/E0658 error.
- If a pin must stay, publish releases when it's bumped, and surface the pinned version in
--version output so users can diagnose this class of failure quickly.
Happy to provide full logs. Thanks for the tool — search/details/source on successfully cached crates work great.
Summary
rust-docs-mcpdoc-builds with a hard-pinned nightly toolchain. Any crate (or transitive dependency) whose MSRV is newer than that pin fails to cache entirely, with no workaround other than downgrading the crate being documented. Follow-up to #44, which asked about the pin but was closed without an answer.Environment
cargo install rust-docs-mcp)nightly-2025-06-23(rustc 1.89.0-nightly)Concrete failures (both hit today)
1. Local workspace crate with an MSRV-forward dependency:
2. crates.io crate using since-stabilized syntax (
yrs0.27.2):The newest
yrsthat caches is 0.23.5 — the last release that predates the pinned toolchain's build date. As the ecosystem moves, the set of cacheable crates only shrinks until the pin is bumped and released.Two compounding problems
mainalready pinsnightly-2026-05-22, but 0.1.1 (Oct 2025) is the latest release on crates.io, socargo installusers get a pin that is now ~a year stale.nightly-2026-05-22will reject crates adopting features stabilized after it. The failure mode is total (crate cannot be cached at all), not degraded.Suggestions (any of these would help)
RUST_DOCS_MCP_TOOLCHAIN=nightly), keeping the pin only as the tested default.--versionoutput so users can diagnose this class of failure quickly.Happy to provide full logs. Thanks for the tool — search/details/source on successfully cached crates work great.