There are some alternate codegen backends that aim to fix this by compiling less-optimized debug builds more quickly.
Something I noticed since I've started timing builds is that codegen and linking usually takes less than 30% of the build time for an incremental build.
So in practice, switching to Cranelift and lld/mold will shave maybe 2 seconds off a 10-seconds build. Better, but still flow breaking.
If we want Go-like compile times, we're going to need some more fundamental improvements to the compiler.
Also read the Bevy documentation about improving build times.
I think this is probably right, and I think just about everyone "tolerates" the build times (that is, I see very few people stop developing in rust because of the build times).
But when, for example, I run `rustup update` to get a new nightly compiler and have to re-compile everything, it's annoying to have to wait 20 minutes. I'll tolerate it, and if a magic wand could make it instantaneous I would love that. But it's still annoying.
Now, there are still ways to make the compiler choke: the mention of instantiations towards the end is a great example. But in my (non-professional) experience, the build times are pretty tolerable for what it's providing.