Crate dependency discovery

Well, C++ modules were designed when all the advanced build tooling already existed, so the module-related problems like quick / early dependency extraction or deep dependency trees could be perceived as regressions and not a norm.

Rust wasn't generally designed with large scale projects / quick rebuilds / highly parallel builds / distributed builds in mind. So what is a regression in C++ is just an everyday matter in Rust.
People recently started working on some improvements though, incremental compilation was also continuously improved in the last few years.

I suspect that the key difference with C++ is probably that any fundamental build system improvement in Rust will have to go through compiler support first.

1 Like