-
Notifications
You must be signed in to change notification settings - Fork 511
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
windows-targets v0.52.3 increased MSRV to 1.60 #2896
Comments
These are the build logs from my weekly CI build with Rust 1.58 for $ rustc -Vv
rustc 1.58.0 (02072b482 2022-01-11)
binary: rustc
commit-hash: 02072b482a8b5357f7fb5e5637444ae30e423c40
commit-date: 2022-01-11
host: x86_64-pc-windows-msvc
release: 1.58.0
LLVM version: 13.0.0
$ cargo version --verbose
cargo 1.58.0 (7f08ace4f 2021-11-24)
release: 1.58.0
commit-hash: 7f08ace4f1305de7f3b1b0e2f76]5911957226bd4
commit-date: 2021-11-24
host: x86_64-pc-windows-msvc
libgit2: 1.3.0 (sys:0.13.23 vendored)
libcurl: 7.80.0-DEV (sys:0.4.51+curl-7.80.0 vendored ssl:Schannel)
os: Windows 10.0.20348 (Windows Server 2022 Datacenter) [64-bit]
$ cargo build --verbose
Updating crates.io index
Downloading crates ...
Downloaded windows-targets v0.52.3
Downloaded windows_x86_64_msvc v0.52.3
Downloaded windows-sys v0.52.0
error: package `windows_x86_64_msvc v0.52.3` cannot be built because it requires rustc 1.60 or newer, while the currently active rustc version is 1.58.0
Error: Process completed with exit code 1. |
Took a moment to recall, but this is another case where a Cargo workspace bug (rust-lang/cargo#10623) forced an artificial version bump (#2815) as a workaround. |
I could remove the "rust-version" from the Cargo.toml file and republish. I can't build within the repo with Rust 1.56 because of the Cargo bug, but perhaps it will work as a package. I just don't know how to test that. @ChrisDenton may know. |
Alternatively, I may just get rid of the workspace as it has caused so many of these kinds of issues. |
You can do a dry run publish with the latest toolchain, e.g.:
Etc, etc. Publishes to |
Thanks Chris - I think I can just remove the rust-version for now to fix this issue - but after that I may just rip out the workspace. |
I've published another update and everything seems to be working well: D:\git\scratch>rustup default
1.56-x86_64-pc-windows-msvc (default)
D:\git\scratch>cargo check
Compiling windows_x86_64_msvc v0.52.4
Checking windows-targets v0.52.4
Checking windows-sys v0.52.0
Checking scratch2 v0.1.0 (D:\git\scratch)
Finished dev [unoptimized + debuginfo] target(s) in 0.46s |
Thanks for fixing the accidental MSRV increase. However, I don't think yanking 0.52.3 was helpful. For us, it resulted in a hiccup in the release process of Arti. Generally it's not a good idea to yank a crate unless the consequences of a user using the questionable version is worse than a compile error. (Assuming you have published an fix as a point release.) After all, in this situation, yanking causes a compile error if it does anything at all. And it can create compile errors where in fact everything would have been fine. So yanking a crate to prevent compile errors doesn't make sense. |
Thanks for the feedback. Yes, that makes sense. I assume at this point there's no value in unyanking? 🤷 |
Well, I don't think it would do any harm and if someone hasn't noticed a failure yet it might mean they never see it. So I think I would suggest unyanking. Thanks :-) |
Done! |
Summary
windows-targets v0.52.3 increased its MSRV in a patch release from Rust 1.56 to Rust 1.60. This means that windows-sys v0.52.0 no longer builds on Rust 1.56, which is its stated MSRV on crates.io and in
Cargo.toml
.Crate manifest
Crate code
No response
The text was updated successfully, but these errors were encountered: