Re: Not addressing the real problem
The suggested approach to Rust is not to do a "big bang" rewrite of your big software. That's doomed to failure, for any large software.
Instead, the approach people are trying to take is to let people use Rust for writing new features. Then port some existing code to Rust. Then gradually repeat until all code is Rust.
For example, the aim with the Linux kernel was to first allow writing new drivers in Rust. That would allow the kernel folks to get some experience with Rust, and to prove whether or not Rust works well in the kernel. If successful, then, over time, more code could have been moved to Rust, until eventually the majority of the kernel was written in Rust. This would have taken years, possibly decades. However, there has been significant pushback to that plan, so I'm not sure if it's going to happen.
Another example is some of the basic Linux command-line applications. Since each app is so small, it can be rewritten in Rust. Over time, more of the essential Linux userspace apps can be made available in Rust versions.
As an alternative, there is some work being done on a memory-safe subset of C++. That may work better for some people. However, it's still a work in progress. (I say "subset", but the idea is actually to first extend C++ with a few small features, and then define a subset of that which is memory-safe. And standardise both the C++ extensions, and the subset, in future versions of the C++ standard. The extensions would be available to all C++ code, so the memory-safe subset would be a true subset of normal C++).