Skip to content

Cargo.toml: Bump rust-version to 1.88 - #676

Open
jmr wants to merge 1 commit into
uutils:mainfrom
jmr:rust-version-1.88
Open

jmr wants to merge 1 commit into
uutils:mainfrom
jmr:rust-version-1.88

Conversation

@jmr

@jmr jmr commented Oct 23, 2026

Copy link
Copy Markdown
Contributor

The declared rust-version of 1.70 has been out of date for a while. Several dependencies already require a newer compiler, so no toolchain older than 1.88 can build the project today:

  • sysinfo 0.38 (every 0.38.x release) declares rust-version 1.88.
  • uutests 0.12 (dev-dependency) declares rust-version 1.88.
  • rand 0.10, phf 0.14, md-5 0.11 and the locked clap 4.6 declare 1.85, and lsipc/lslocks use edition 2024, which also needs 1.85.

uucore 0.7 and later also declare rust-version 1.88, so this is a prerequisite for upgrading uucore from 0.2.2.

The field documents the real minimum and is what the MSRV-aware resolver and clippy's MSRV-dependent lints (e.g. incompatible_msrv) use, so it should match what the dependencies need.

Note that the checked-in Cargo.lock currently has uuid 1.28, which declares rust-version 1.89. A 1.88 toolchain needs uuid <= 1.26.1; the MSRV-aware resolver
(CARGO_RESOLVER_INCOMPATIBLE_RUST_VERSIONS=fallback cargo update) picks that version. CI builds with the latest stable toolchain and has no MSRV job, so no workflow change is needed.

The declared rust-version of 1.70 has been out of date for a while.
Several dependencies already require a newer compiler, so no toolchain
older than 1.88 can build the project today:

* `sysinfo` 0.38 (every 0.38.x release) declares rust-version 1.88.
* `uutests` 0.12 (dev-dependency) declares rust-version 1.88.
* `rand` 0.10, `phf` 0.14, `md-5` 0.11 and the locked `clap` 4.6
  declare 1.85, and `lsipc`/`lslocks` use edition 2024, which also
  needs 1.85.

`uucore` 0.7 and later also declare rust-version 1.88, so this is a
prerequisite for upgrading `uucore` from 0.2.2.

The field documents the real minimum and is what the MSRV-aware
resolver and clippy's MSRV-dependent lints (e.g. `incompatible_msrv`)
use, so it should match what the dependencies need.

Note that the checked-in Cargo.lock currently has `uuid` 1.28, which
declares rust-version 1.89. A 1.88 toolchain needs `uuid` <= 1.26.1;
the MSRV-aware resolver
(`CARGO_RESOLVER_INCOMPATIBLE_RUST_VERSIONS=fallback cargo update`)
picks that version. CI builds with the latest stable toolchain and has
no MSRV job, so no workflow change is needed.
Comment thread Cargo.toml
keywords = ["util-linux", "uutils", "cross-platform", "cli", "utility"]
categories = ["command-line-utilities"]
rust-version = "1.70.0"
rust-version = "1.88.0"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cargo.lock still has uuid 1.28, which needs 1.89.
should we downgrade it here too so 1.88 actually builds with the lock?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants