3 ms·
> Cargo assumes you want to cache ... built dependencies at the granularity of a unix user account This isn't true: actual build artifacts are cached in a per-
by dbaupp 10y ago
> Cargo assumes you want to cache ... built dependencies at the granularity of a unix user account
This isn't true: actual build artifacts are cached in a per-project way (in `./target` by default). Cargo does download all packages to a user-shared directory, but this directory is essentially immutable, just a list of the source code.
Sharing more broadly than per-project is the form that is unreliable, things can change subtly between projects e.g. different targets, different compiler flags. Of course, cargo has essentially full information about everything involved in a build and so can track this---in the limit caching all the different configurations of each crate version---but I don't think it does currently (I recall an issue about it, but I cannot find it at the moment).