Rust adoption
I run a large engineering department, and although we have to be quite conservative, are generally open to new tools.
We have been piloting rust in proof-of-concept mode, and maintaining a build pipeline across multiple OS. This is to give us a good indication of how complex maintenance will be, whether vulnerabilities get patched, the toolchains are stable, we can see performance gains and so on.
However there are a number of challenges, and I was hoping someone can help me understand, definitively, if our expectations are wrong or we are missing stuff in our approach.
Thanks in advance.
On Debian, MacOS, Windows etc we have very different toolchain experiences, with e.g. long lags between stable/development (e.g. 1.6x version bleeding edge), but not specific ways we can see of fixing a whole toolchain/dependency set on e.g. a "Rust 23" model with semver minor/security fixes. How do we accomplish that?
We picked 12 open-source projects to build/track, which gives us sight of how they build repeatably and so on. Many of these, if e.g. a year old, do not quite build due to dependency problems on stable or nightly, and a cargo upgrade doesn't solve it. Are we generally expected to be stay bleeding-edge only and update the toolchain continuously or should be be using some other strategy?
Generally speaking the number of dependencies is quite large. How do people maintaining substantive projects handle this - do you use automatic upgrade tools or do you minimize dependencies and roll your own?
Core language/library features seem to aggressively get removed/renamed, such that stable cannot reliably build stuff built for later versions even when not using new "features". Should features not be kept in stable (even if you get deprecation warnings) until the stable version advances?