![raze 3 hacked with everything raze 3 hacked with everything](https://mdfasr869.weebly.com/uploads/1/2/5/4/125467704/698097675.jpg)
So my first question about any Google tool is: "Does it have enough non-Google people supporting it?" because, if it doesn't, it will die as soon as it becomes a political football. The problem is that Google is well-known for unceremoniously dumping stuff. > I am always surprised how good and not-well-known google’s tooling is. Another solution would be API only dependencies, but this is harder to pull off.
Raze 3 hacked with everything plus#
Plus it is probably against the idea of crates.io to have updates available immediately. But this still leaves the feature issue unsolved. There are some solutions like freezing crates.io according to a schedule and only pushing out updates once per week or so. But if you don't share a Cargo.lock, the problem is too wide. In a single project use case, this is no problem because everyone uses the same Cargo.lock so they use the same dependencies and the same features of those dependencies. However, due to how crates.io works, basically every day you get a new updated crate in your DAG, and this invalidates all the crates that depend on it, including your own. Those are the very dependencies you want to use ssccache for. "Normal" Rust projects can quickly get into hundreds of crates.io dependencies in their DAG. It also means that the features of the crate that have been enabled can't be changed. Due to Rust's compilation model, if crate A depends on crate B, then the version of crate B it's been compiled for can't be changed: you have to use that version. Firefox uses it.īut for the "any project" use case, the combination of Rust's compilation model and how crates.io works makes this hard. For single projects, it's possible to build such caches and it's done by some, e.g.