Choosing Rust instead of C or C++ for new projects is a rather light decision. But introducing it into or outright replacing legacy codebase with it is a rather phenomenal undertaking. Fish shell was completely rewritten. Linux is introducing it in no trivial way. I wonder if the woes with C/C++ is that bad.
Other than having to know Rust, adding Rust to a C code base is not difficult. They play well together.
There is no need to rewrite old code but, once Rust is there, you are free to.
Linux is a bit of a special case as you cannot just blindly use the Rust standard library.
Having to have a Rust tool chain to build with may or may not be an issue.
For some use cases, like BSD or the Linux kernel, platform support is also a consideration.