3 ms·
Distro provided compilers are meant to build the distro's provided packages, nothing more, nothing less. It is an accident of several confounding factors (slow
by estebank 4y ago
Distro provided compilers are meant to build the distro's provided packages, nothing more, nothing less. It is an accident of several confounding factors (slow release cadence, bad alternative delivery methods, wide disparity of feature support across deployments requiring developers to be conservative) that allowed some languages to blur the distinction and make their developers not have to care as much.
Rust releases every six weeks. Some crates update aggressively. Others go to great lengths to support 1.13. In practice, there are "watershed releases" where most of the ecosystem migrates to relying on the same version, because a specific feature unblocks some use case. Looking at https://lib.rs/stats https://lib.rs/stats the obvious two such cases were 1.31 (async/await, edition 2018) and 1.56 (2021 edition), but at different points in time I've noticed other smaller breaks (like 1.63) for specific features (like const generics) that after a while get smoothed out by further jumps.
One thing that keeps getting lost in the online arguments is that Rust is very aggressive about backwards compatibility despite its release schedule, so updating the tool chain has one cost: rebuilding your projects. Staying on older versions indefinitely means not only that you can't use the latest shiny language feature, but that you're not getting security updates or tooling improvements that materially improve your DX.