From 55a8f520245b5546bb51bddb073288dbf49ef39a Mon Sep 17 00:00:00 2001 From: onatozmenn Date: Fri, 14 Aug 2026 18:35:12 +0300 Subject: [PATCH] Match the install page to Rust 1.88 --- install/index.html | 2 +- tools/check.mjs | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/install/index.html b/install/index.html index 33cbb27..1e20d99 100644 --- a/install/index.html +++ b/install/index.html @@ -369,7 +369,7 @@

What else is in it

With Rust instead

-

Needs Rust 1.85 or newer, and nothing else:

+

Needs Rust 1.88 or newer, and nothing else:

$ cargo install deed-lang

deed on crates.io belongs to somebody else, so the diff --git a/tools/check.mjs b/tools/check.mjs index 4d6d33e..34e5443 100644 --- a/tools/check.mjs +++ b/tools/check.mjs @@ -108,6 +108,24 @@ for (const [where, { tag, version }] of pins) { const tag = first?.tag; +// The wasm reports its Deed version, but it cannot report the oldest Rust +// toolchain that can build the crates.io package. Keep that release metadata +// explicit here: moving TAG to a release not in this table fails until the +// install claim is considered too, instead of silently carrying an old MSRV. +const minimumRust = new Map([["v0.2.12", "1.88"]]).get(tag); +const install = await readFile(join(root, "install", "index.html"), "utf8"); +const claimedRust = install.match(/Needs Rust ([0-9.]+) or newer/)?.[1]; +if (!minimumRust) { + complain("tools/check.mjs", `no minimum Rust version is recorded for ${tag}`); +} else if (!claimedRust) { + complain("install/index.html", "does not state the minimum Rust version"); +} else if (claimedRust !== minimumRust) { + complain( + "install/index.html", + `says Rust ${claimedRust} and ${tag} requires Rust ${minimumRust}`, + ); +} + // The artifact is committed rather than built, so nothing in this repository // has ever compiled it, and a file that is present is not a file that answers. // A truncated copy, or the artifact of a different build wearing the right