I don't know that good C++ has been standardized or is enforceable by the compiler. But Rust is hard to write and that's doubly especially the case coming from an anything goes language.
Heavily disagree. Usually, compiler tells you how to fix your errors. You still need solid grasp of language.
The borrow checker can be hard to follow occasionally.
Your solid grasp of the language may be different or the same as my hard to write. But neither would be confused with utterly ambiguous C. The counterpart to borrowing in C would be it's antithesis in Rust, aliasing.
That said I'm on my learning curve and my opinion could change.
EDIT: Reworded it to be more specific