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
cargo always rebuilds crates, even if source is unchanged #1600
Comments
So, this is a problem with some libraries, but not most. PistonDevelopers/image also has this issue. I don't know what characterstic these share that causes the issue. |
Hopefully someone will be able to reproduce this issue using the instructions provided in the ticket to get a handle on this bug. It has been on-off ever since ... sometimes it works, sometimes it doesn't. And if it doesn't, working with Rust becomes quite painful ... working with Alpha and pre-1.0 software and dependencies in general requires some pain resistance anyway, but if the basic toolset stops working correctly, it's hard to bare ;). |
@Byron can you check out the |
Using an older build's output that was still using serde marcros on nightly, I could confirm a somewhat broken fingerprint file similar to what was already shown here:
Apparently serde/quasi/aster are indeed part of the issue, and considering how difficult it is to use compiler plugins right now, following the proposed path of using Using the yup-oauth2
In other words: this doesn't seem to be a cargo issue at all, even though I wonder how it's possible to trick cargo into using file-names ... maybe it is just picking some particular AST node and displays it, without actually checking what it is ? |
Syntax extensions can register their own input files with the compiler so they're emitted into the |
See subject. This also translates to dependencies that are local, causing two crates to be rebuilt even though indeed only one of them changed code (e.g. CLI uses LIB, and CLI source change causes LIB to be rebuilt as well for now reason, effectively doubling build time).
How to reproduce
The following shows how even simple crates will be rebuilt whenever cargo-build is invoked.
A more complex example
The following will cause two projects to be rebuilt, as they are dependent on each other and available locally.
Meta
The text was updated successfully, but these errors were encountered: