-
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
Unstable dependency selection and rebuilding #3043
Comments
Hm, sounds fishy! Do you have any |
Only for
|
Ah that'd do it, if you remove that is the build deterministic? There's a couple of known bugs in Cargo where |
Well, it's a deterministic failure. I need the path override so that another dependency uses my version of |
I'd recommend using |
@alexcrichton Is there a nightly build available which supports combining workspaces and |
@nathanaeljones I'll comment more on that issue |
I believe we've since implemented warnings for |
I've got a project with workspaces that looks roughly like
util
has a dependency onpostgres
with theuuid
feature. I've recently upgraded postgres to supportuuid
0.3. Since a new version hasn't been cut, I've addedpostgres
to my.cargo/config
. There's a package in my project that depends onuuid
0.2 internally; this may be important. Now, whenever I runcargo build
from thepush
folder, there's a change thatpostgres
decides to switch between 0.2 and 0.3 ofuuid
thereby triggering rebuilds ofpostgres
,util
, and mypush
crate.Here's some fingerprint logs demonstrating the behavior:
One run
Some number of runs later (varies)
Other fingerprint logs are a result of postgres deciding to rebuild, and there's nothing to suggest why it chose a different uuid abrubtly. The Cargo.lock file does not appear to change.
I've tried setting a workspace in
rust-postgres/Cargo.toml
to no effect. The rust-postgres uuid dependency looks like this:which does allow for other versions. In my project Cargo.toml files, only uuid
0.3
is ever specified other than in third-party dependencies which use0.2
internally.rustc/cargo versions:
The text was updated successfully, but these errors were encountered: