> Facebook has effectively forked Rust because their (huge) Rust codebase doesn’t build with newer compilers. If you’re Microsoft or Facebook, maintaining an old Rust compiler for a few years and back-porting things to work with that language snapshot is a cost that may be worth paying.
Why would it be false information ? I tried 2 different times to compile Firefox on linux. It always failed due to the rust compiler being in dissagreement with its crates.
Slackware ships a rust compiler with Firefox sources which, nonetheless is still not able to compile it.
Rust echosystem is a disaster and i think that this might be one of the reasons for its slow adoption.
Firefox is a special case, since it uses unreleased experimental features of the Rust compiler. IMHO it's unnecessary, but that's their choice (they get some nice-to-have features).
Most of the Rust ecosystem targets the latest stable release of the compiler. Updates for Rust users are very easy and reliable. It remains compatible with sources since 2015, so there's generally no obstacle to upgrading.
Changes between versions of Rust are very small, often just new functions in the standard library or some compiler flag. But people use them as soon as they're available, so everyone else has to use latest stable Rust as well.
This clashes with policies of many Linux distros that keep years-old software and prefer not to touch it. This is more of a culture/policy problem than a technical one. Rust wants to be up-to-date like Chrome, distros update Rust like Internet Explorer.
I know you've probably seen this, but some additional data for other folks, David Tolnay posted yesterday about Meta's experiences upgrading the rust compiler reguarly:
> Rust echosystem is a disaster and i think that this might be one of the reasons for its slow adoption.
Although I'm no expert in Rust, I've been learning it and this seems accurate to me. It's one of the reasons why, at least right now, I wouldn't consider using Rust for any real project of mine. It would be like building a castle on sand.
I am curious what the differences are. Did they bet on some unstable features that since changed, did they run into some soundness fixes, or are there genuine regressions in the stability guarantees of the compiler that are pushing them in this direciton?
This was kind of interesting point to discover.