Skip to content

fix(xtask): cap sysinfo at 0.38 to honor 1.94.1 MSRV#5183

Merged
houko merged 1 commit into
mainfrom
fix/sysinfo-msrv-0.38
May 17, 2026
Merged

fix(xtask): cap sysinfo at 0.38 to honor 1.94.1 MSRV#5183
houko merged 1 commit into
mainfrom
fix/sysinfo-msrv-0.38

Conversation

@houko
Copy link
Copy Markdown
Contributor

@houko houko commented May 17, 2026

Problem

cargo xtask release (and just release) fails on stable rustc 1.94.1:

error: rustc 1.94.1 is not supported by the following package:
  sysinfo@0.39.1 requires rustc 1.95

xtask/Cargo.toml declared sysinfo = "0.39". The entire 0.39.x line
(0.39.0 / 0.39.1 / 0.39.2) requires rustc 1.95, which exceeds this
workspace's deliberately pinned MSRV — Cargo.toml rust-version = "1.94.1",
reinforced by the comment in rust-toolchain.toml requiring new code to
respect the declared MSRV. cargo resolved to 0.39.1 and broke the build.

Change

  • xtask/Cargo.toml: sysinfo version requirement "0.39""0.38",
    with a comment explaining the MSRV cap.
  • Cargo.lock: sysinfo 0.39.10.38.4 (needs only rustc 1.88).

0.38.4 exposes the identical API surface xtask consumes in
xtask/src/local_check_mode.rs:75-83 (System::new_with_specifics,
RefreshKind::nothing(), MemoryRefreshKind::nothing().with_ram(),
total_memory()), so the downgrade is API-safe.

About the Cargo.lock diff size

Only the sysinfo package entry changes version. No other package is
added, removed, or version-bumped. The remaining ~17 changed lines
normalize pre-existing stale windows-sys / windows-link dependency
edges (those package versions already existed in the committed lock);
cargo rewrites these on any lock regeneration regardless of this change.
Verified: git diff Cargo.lock | grep -E '^[+-]\[\[package\]\]|^[+-]name = '
returns nothing.

Verification

  • cargo update sysinfo --precise 0.38.4 --dry-run → reports only the
    sysinfo downgrade.
  • cargo check -p xtaskFinished in 29.57s, zero warnings, against
    sysinfo 0.38.4.

Out-of-scope follow-ups

None.

The entire sysinfo 0.39.x line requires rustc 1.95, which exceeds this
workspace's pinned MSRV (Cargo.toml rust-version = 1.94.1). cargo
resolved sysinfo to 0.39.1, breaking `cargo xtask release` on stable
1.94.1 with an unsupported-rustc error.

Cap the xtask dependency at "0.38"; the resolver picks 0.38.4, which
needs only rustc 1.88 and exposes the identical probe API xtask uses
(System::new_with_specifics / RefreshKind::nothing /
MemoryRefreshKind::nothing().with_ram / total_memory).

Cargo.lock: only the sysinfo package entry changes version; the
remaining edits normalize pre-existing stale windows-sys / windows-link
dependency edges (no package added, removed, or version-bumped) that
cargo rewrites on any lock regeneration.
@houko houko merged commit 145e251 into main May 17, 2026
30 of 31 checks passed
@houko houko deleted the fix/sysinfo-msrv-0.38 branch May 17, 2026 08:04
@github-actions github-actions Bot added the size/XS < 10 lines changed label May 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/XS < 10 lines changed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant