C is "old," sure, but not at all antiquated. So much important, infrastructural software continues to be written in C to this very day. It's never going away. It's not smart to replace/rewrite all software written in C with something else just for the sake of using a "newer" or "modern" language. The most popular C and C++ compilers today are actively maintained and SUPER advanced, having been based on 40+ years of experimentation and experience!
Also, there is a C compiler for, like, almost literally every CPU instruction set ever created. Currently, Rust compilers do target an admirable set of platforms, but it will NEVER be on par with the set of computers you can program for in C. And for many applications, Rust simply is not an option. Especially in embedded and industrial settings, where huge changes raise more questions than answers them, and where adopting new technologies is super slow on purpose because stuff HAS to work and interruptions are not tolerated. Lots of trepidation in a factory, or in avionics hardware and other critical stuff like that -- less so in someone's desktop PC.
It's far easier to port C, in general. When new platforms, new instruction sets inevitably come around, it will be a C compiler which will be written for it first -- purely because of how straightforward the language is, how it was designed from the beginning to be easy to translate into assembly. So, while the design of Rust and its compilers may have some cool and compelling features, it is (in my view) always more expedient (and therefore smarter?) to hit the ground running with a new platform with a C compiler first.
TL;DR there will always be a place for C and C++. There never won't be, from a practical perspective, because it is utterly ubiquitous. I'm sure Rust will succeed, but it cannot displace C/C++, because nothing can.