I fail to see how Rust solves any of the issues in ways that don't apply to C++ (the solution largely seems to be "don't use those features").
(And Linus noticed one of the big parts where Rust doesn't live up to this - the idiomatic thing for memory allocation failure is to unwind - and that's a solvable problem.)
If it `can be idiomatic` it means it's not currently idiomatic, and C++ isn't really heading in that direction. There's also a vast suite of C++ programmers out there to who it's very much not idiomatic and downright foreign. So if you're going to fight against how everyone else writes the language, it's best not to use the language.
Disabling exceptions isn’t “fighting against how everyone else writes the language” - it’s pretty common and well-supported.