diff --git a/Cargo.lock b/Cargo.lock index 137eb4e..9b7f1b5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3372,9 +3372,9 @@ dependencies = [ [[package]] name = "rustdoc-types" -version = "0.53.0" +version = "0.57.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53175c56be456e96171b9c3efcd8e5216fbb7b40cc6355a1953090556621205b" +checksum = "7e6919c49bdd9cca072b3b502d16c073d0a4d3b7283ff6e0c86a5f6e6b07bbfe" dependencies = [ "rustc-hash 2.1.1", "serde", diff --git a/README.md b/README.md index a273c50..e32c34a 100644 --- a/README.md +++ b/README.md @@ -194,13 +194,13 @@ cargo install rust-docs-mcp - Rust nightly toolchain (for Rustdoc JSON generation) ```bash - rustup toolchain install nightly + rustup toolchain install nightly-2026-05-22 ``` - Runtime prefers `nightly-2025-06-24` because it matches the rustdoc JSON - schema used by `rustdoc-types`, but it will fall back to `nightly` when that - toolchain produces the same JSON format version. You can override the choice - with: + Runtime prefers `nightly-2026-05-22`, which provides rustc + `1.97.0-nightly (e96c36b6f 2026-05-21)`, so documentation generation can + compile modern crates. The `rustdoc-types` dependency is kept in sync with + that rustdoc JSON format. You can override the choice with: ```bash export RUST_DOCS_MCP_TOOLCHAIN=nightly diff --git a/rust-docs-mcp/Cargo.toml b/rust-docs-mcp/Cargo.toml index eb163ab..582ba19 100644 --- a/rust-docs-mcp/Cargo.toml +++ b/rust-docs-mcp/Cargo.toml @@ -28,7 +28,7 @@ flate2 = "1.0" futures = "0.3" git2 = "0.20" reqwest = { version = "0.12", features = ["json", "stream"] } -rustdoc-types = { version = "0.53.0", features = ["rustc-hash"] } +rustdoc-types = { version = "0.57.3", features = ["rustc-hash"] } semver = "1.0" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" diff --git a/rust-docs-mcp/src/docs/query.rs b/rust-docs-mcp/src/docs/query.rs index e18e9e3..26fd949 100644 --- a/rust-docs-mcp/src/docs/query.rs +++ b/rust-docs-mcp/src/docs/query.rs @@ -88,10 +88,9 @@ pub fn build_item_info(crate_data: &Crate, id: &Id, item: &Item) -> Option bool { // Extract toolchain name from rustup's error format: 'toolchain-name' // Then check it matches our query, allowing for an architecture suffix // (e.g., "nightly" -> "nightly-aarch64-apple-darwin") but not a date suffix - // (e.g., "nightly" should NOT match "nightly-2025-06-24-aarch64-apple-darwin") + // (e.g., "nightly" should NOT match "nightly-2026-05-22-aarch64-apple-darwin") stderr.split('\'').nth(1).is_some_and(|name| { name == toolchain || name diff --git a/rust-toolchain.toml b/rust-toolchain.toml index e3b6945..b5a06ab 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,3 +1,3 @@ [toolchain] -channel = "nightly-2025-06-24" +channel = "nightly-2026-05-22" components = ["rustfmt", "clippy", "rust-src", "rust-docs-json"]