-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
bdf regress because bit-set 0.3.0 disappeared in the recent few months #14643
Comments
Yumechi-san kindly helped: "Crates were immutable but toolchains were not, so some dependency definitions become invalid when you update. The error I see on your package says bit-set has a Cargo.toml which depends on bit-vec but has absolutely no version specifier (not even a '*'), that is probably what is broken, I would still fork bdf and update the bit-set dependency." I guess I didn't know this could happen (which seems quite bad). Feel free to close this if there is nothing more to add. |
The change in question is #13775 which we further talked about in #13824. My main concern is with the error message reported in the issue. When I run this, Cargo gives some more detail than mentioned in the issue. $ cargo check -V
cargo 1.81.0 (2dbb1af80 2024-08-20)
$ cargo add bdf
Updating crates.io index
Adding bdf v0.6.0 to dependencies
Updating crates.io index
Locking 10 packages to latest compatible versions
Adding bit-set v0.3.0 (latest: v0.8.0)
$ cargo check
Downloaded thiserror-impl v1.0.64
Downloaded thiserror v1.0.64
Downloaded syn v2.0.79
Downloaded bit-set v0.3.0
error: failed to parse manifest at `/home/epage/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bit-set-0.3.0/Car
go.toml`
Caused by:
dependency (bit-vec) specified without providing a local path, Git repository, version, or workspace dependency to u
se
$ cargo +nightly -V
cargo 1.83.0-nightly (eaee77dc1 2024-09-19)
$ cargo +nightly add bdf
Updating crates.io index
Adding bdf v0.6.0 to dependencies
Updating crates.io index
Locking 9 packages to latest compatible versions
Adding bit-set v0.3.0 (available: v0.8.0)
$ cargo +nightly check
error: failed to download `bit-set v0.3.0`
Caused by:
unable to get packages from source
Caused by:
failed to parse manifest at `/home/epage/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bit-set-0.3.0/Cargo.to
ml`
Caused by:
dependency (bit-vec) specified without providing a local path, Git repository, version, or workspace dependency to u
se It says what manifest failed and why. While As we rework some of Cargo's error reporting, this does want me to make sure we do as much error recovery as possible and allow I do find it strange that nightly added "failed to download" and "unable to get packages from source". 1.82 also has that message. After further investigation, it turns out it is not associated with the version but if the package was already downloaded. My message changed on 1.81 and doing |
@rustbot transfer cargo |
Thanks Ed. FWIW, as a still green ruster, none of the error messages above are clear to me. Like it was not at all obvious that this happened because I upgraded my tools. |
Yes, identifying a problem is in a change in a tool is a harder problem to call out. |
let's try this again: @rustbot transfer cargo |
For me, the question at this time is what, if anything, we should do for this case. As shown in my post, the error message at least calls out that Options
|
Current Behavior
I depend on the bdf crate and it worked fine a new months ago (at least as recent as June 4th). Alas, it fails now due to...
Expected Behavior
It should work
Steps To Reproduce
I can also reproduce this with
Environment
This happens on all platforms
Anything else?
Aren't crates supposed to be immutable for life?
The text was updated successfully, but these errors were encountered: