Files
OpenJarvis/rust/rust-toolchain.toml
T
d1ad3316b6 build(rust): pin MSRV to 1.88 + add rust-toolchain.toml (#469)
The Rust workspace fails to build on stable 1.86/1.87 with cryptic E0658
errors deep in dependencies: rig-core uses let-chains and
openjarvis-skills uses `is_multiple_of`, both stabilized in 1.88 (#252).

Add a rust-toolchain.toml pinning channel 1.88 (rustup then auto-selects
a working toolchain instead of erroring mid-build) and declare
rust-version = "1.88" in [workspace.package] to self-document it.

Because the toolchain pin makes CI's `cargo clippy -D warnings` run under
1.88 — whose clippy enables `uninlined_format_args` — also apply the
mechanical `format!("{}", x)` -> `format!("{x}")` rewrites across the
workspace (via `clippy --fix`; string output is identical, no logic
change). Verified clippy + fmt + `cargo test --workspace` clean on BOTH
1.88 and current stable.

Verified locally: cargo +1.86 and +1.87 fail (E0658), +1.88 builds and
tests cleanly. Supporting true 1.86 is infeasible without downgrading
rig-core below the versions exposing the token-usage symbols we use —
deferred.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-01 13:17:33 -07:00

11 lines
503 B
TOML

# Pin the Rust toolchain for the openjarvis_rust workspace.
#
# The workspace requires Rust >= 1.88: rig-core uses let-chains and
# openjarvis-skills uses `is_multiple_of`, both stabilized in 1.88. On older
# stable toolchains the build fails with cryptic E0658 errors deep inside a
# transitive dependency (see #252). Pinning here makes rustup install/select a
# compatible toolchain automatically and gives a clear requirement up front.
[toolchain]
channel = "1.88"
components = ["rustfmt", "clippy"]