https://blog.rust-lang.org/inside-rust/2023/01/30/cargo-spar...
https://blog.rust-lang.org/inside-rust/2023/01/30/cargo-spar...
"Location of where to place all generated artifacts, relative to the current working directory."
The problem is that if two workspace build a dependency with sightly different features or flags, it will always be rebuild when changing workspaces
If you use GitHub as like a storage server and totally externalize the costs of the package index onto them, then it's workable for free. But if you're running your own servers then it's a whole different ballgame.
Before:
Download all metadata, Download xyz package
After:
Downolad xyz's metadata, Download xyz
They already know you are using xyz.
If knowing you use a crate is too much, then running your own registry with a mirror of packages seems like all you could do.
Edit: A thought occurs to me. Cargo downloads metadata from crates.io but clones the package repo from GitHub/etc. So unless I'm missing something, downloading specific metadata instead of all metadata allows for crates.io to track your specific packages in addition to GitHub.
crates.io crates are tarballs stored in S3. The tarball downloads also go through a download-counting service, which is how you get download stats for all crates (it's not a tracker in the Google-is-watching-you sense, but just an integer increment in Postgres).
Use https://lib.rs/cargo-crev or source view on docs.rs to see the actual source code that has been uploaded by Cargo.