The real reason to prefer C++ over Rust is that the compiler trusts you, he put his faith in you, he thinks you're there for him. When you put a signature for a function defined in another file the C++ compiler trusts that you are telling the truth and that you will provide a valid object file during linking stage. This is what trust is all about. Meanwhile, Rust compiler screams at you for even the smallest shit like having an unused variable.