Skip to content

fix: regenerate Cargo.lock to avoid broken rustix 0.37.27 - #939

Merged
max-sixty merged 1 commit into
mitsuhiko:masterfrom
paolobarbolini:bump-lockfile-rust-155433
Sep 6, 2026
Merged

max-sixty merged 1 commit into
mitsuhiko:masterfrom
paolobarbolini:bump-lockfile-rust-155433

Conversation

@paolobarbolini

Copy link
Copy Markdown
Contributor

This bumps tempfile and rustix in Cargo.lock to avoid the breakage introduced by rust-lang/rust#155433.

The breakage happens because older versions of rustix used to use #[cfg_attr(rustc_attrs, rustc_layout_scalar_valid_range_start(...))] and #[cfg_attr(rustc_attrs, rustc_layout_scalar_valid_range_end(...))] attributes. New versions don't anymore, so this bumps tempfile to a version that allows the newer semver version range of rustix.

The committed lockfile pinned tempfile 3.5.0, whose unix dependency
path resolves to rustix 0.37.27. rust-lang/rust#155433 (merged
2026-05-03, first shipped in Rust 1.97.0) ripped out the
`rustc_layout_scalar_valid_range_start`/`end` attributes in favour of
pattern types (rust-lang/rust#135996). rustix 0.37.27's build script
probes whether `#![feature(rustc_attrs)]` compiles and emits
`cargo:rustc-cfg=rustc_attrs` when it does, which activates those
attributes on `struct Errno` in src/backend/linux_raw/io/errno.rs.
On rustc from nightly-2026-05-04 onward the probe still compiles but
the attributes are rejected with:

    error: attributes starting with `rustc` are reserved for use by
    the `rustc` compiler

so the build fails (rust-lang/rust#156510). The probe is rejected on
stable channels (E0554), so only nightlies are affected. The 0.37
line has no fixed release; upstream fixed the master line in
bytecodealliance/rustix#1663.

This regenerates the lockfile so that tempfile resolves to 3.27.0
and rustix to 1.1.4. No Cargo.toml change is needed: the existing
`tempfile = "3"` / `"3.5.0"` requirements already permit it. The
MSRV (1.66.0) is unaffected: tempfile 3.27.0 declares rust-version
1.63, and the newly added wasm32-wasip2/UEFI-only dependencies
(wasip2, wit-bindgen, r-efi) are never built for any supported target.
@max-sixty
max-sixty merged commit 06858e1 into mitsuhiko:master Sep 6, 2026
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