Sometimes I feel that C is the only language that can benefit from compound gains over time, their spec is tight and sees sparse nuanced improvements in wide intervals of time.
Sometimes I feel that C is the only language that can benefit from compound gains over time, their spec is tight and sees sparse nuanced improvements in wide intervals of time.
- firefox "secretly" relying on unstable things while using stable rust (using some magical undocumented rust flags meant to be only used for bootstrapping rust).
- the older firefox release relying/touching on some "bug" in rust which was fixed (e.g. accidentally accepting malformed config files, or soundness issues).
- a bug in the compiler no one put resources to fix in yet (as e.g. close to no one is affected by it and there are more relevant bugs to work on).
This can happen to you in C or C++, too.
For any larger and more complicated projects some bugs "popping out" when using newer compilers due to either compiler bugs or code bugs "somehow passing by" in earlier compiler versions is totally a thing.
Through due to how long the C standard stood still it's not that often happening in C, I guess? Hm, I wonder if Linux kernel devs might disagree??
Back in the GCC 4 timeframe (~2005), the compiler started taking a more strict view of the C standard in a way that produced additional warnings/errors relative to the GCC 3.x series. Compiler upgrades do regularly break some subset of packages in distro repositories; breaking C++ happens a lot more than C, but it happens.