The 2025h2 goal period is now over, so I'm closing this issue. Thanks to everyone who contributed! The Cargo cross workspace cache goal will build on this work in the 2026 period. Authors are welcome to leave a final comment about the goal's outcome.
After the initial PR from the last update was merged, we shifted our focus to resolving some of the known issues.
Notably, locking blocks the Cargo job queue slowly causing thread starvation if many build units are held by another Cargo instance.
We investigated adding the ability for Cargo to "suspend" a job internally while waiting for a lock, but we felt this change was a bit invasive and did not fit well with how the job queue was designed.
Instead we plan to change our design to acquire all build unit locks prior to running the job queue. (see https://github.com/rust-lang/cargo/pull/16657)
At the same time, we have continued to refine the new build-dir to prepare it for a call for testing and eventual stabilization. (https://github.com/rust-lang/cargo/pull/16542, https://github.com/rust-lang/cargo/pull/16502, https://github.com/rust-lang/cargo/pull/16515, https://github.com/rust-lang/cargo/pull/16514)
Finally we decided to split .cargo-lock into 2 locks to allow cargo check and cargo build to run in parallel when artifact-dir == build-dir (and -Zfine-grain-locking is enabled)
I suspect this may be the last update on this goal, as the 2026 slate of goals is coming up.
While I did not renew this goal for 2026, I do plan to continue work on this and eventually stabilize this within this year.