Will Rust replace C and C++

The answer is no to that, that it will replace all C/C++ domains. Rust is a viable replacement for C/C++ in application projects where C/C++ is already doing less well because of lack of good libraries. Typically, these are new projects where they decided to use Rust instead of C++. For example Pijul https://pijul.org/, decided to use Rust in their project where C++ would be an obvious contender. We will see more projects like that choose Rust because C++ doesn't have as good libraries (C++ doesn't even have an own socket library today). Another typical example is that Rust is often the better choice is web/cloud applications. It's mostly the ecosystem where Rust beats C++ and with C++ you constantly have to search libraries and also check their licenses ((L)GPL is often not an option for many). Rust is a more batteries included language than C++ which will displace C++ in certain domains.

Now there is a domain where Rust will never displace C/C++ and that is embedded bare metal programming. The reason can be explained in several posts in this forum, like How to implement a single linked list in os/bare metal? - #5 by Yandros. It is obvious that things that are trivial in C/C++ becomes absolutely horrible and over complicated in Rust, and this is because of the nature of the language. It simply makes things more complicated for no benefit while also not more safe C/C++ because you have to use unsafe code.