You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When trying to run any code in playground with nightly toolchain (example), the compiler is (seemingly?) trying to compile all the crates, and times out doing so.
Fingerprint build script deps only for path packages.
#6720 introduced some protection that if there is a build script, and two commands are used (such as `cargo build` then `cargo test`), the second command would correctly get rebuilt. However, the way it was implemented relies on mtimes working correctly. A common use case is to cache built dependencies in Docker, and Docker zeros the nanoseconds from mtime when the image is saved. This caused all packages that had build scripts to get rebuilt when the Docker image runs.
The solution here is to only use the #6720 protection for local (path) packages. This runs under the assumption that mtimes need to work for those anyways.
The consequence is that the scenario in #6720 will no longer work for detecting changes in registry dependencies with build scripts. Fixing that final edge case is nontrivial. Since it is unlikely to happen often, I figure this workaround should be sufficient for now.
cc rust-lang/rust-playground#469
cc rust-lang/rust#59061
When trying to run any code in playground with nightly toolchain (example), the compiler is (seemingly?) trying to compile all the crates, and times out doing so.
Sample stderr output:
cc @shepmaster
The text was updated successfully, but these errors were encountered: