D didn't replace C++. I wonder if that was related to the single proprietary implementation. The language seems more sensible to me.
Rust is aimed at replacing C and C++. There are others in the same field in various stages of development. Zig and carbon come to mind.
There's an uphill battle where lots of existing code is in C++ and people fear changing it. C was partly dismantled by C++ compilers promising better error diagnostics and being able to compile most C with minimal patching.
I personally think the end is in sight for C++ but the consensus seems to be it'll live forever.