In C++ discipline is optional. In Rust it's mandatory.
In C++, you can do whatever. Rust forces you do to some things. No discipline required by C++, absolutely required by Rust.
In C++, you can do whatever. Rust forces you to do some things. This means you must have discipline in C++, or you will do bad things. But in Rust, you can do whatever you want, the compiler has your back.
I should have said that no discipline is required in C++ to obtain a binary.