mirror of
https://github.com/open-jarvis/OpenJarvis.git
synced 2026-07-28 05:12:26 +00:00
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>
11 lines
503 B
TOML
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"]
|