To be fair--and I say this as a Rust fan--the pages of inscrutable error messages caused by a misplaced parenthesis in a template are pretty much over. Clang spearheaded this change to the point where some companies would use clang for development and gcc for production builds.
This isn't to say that template errors are problem-free but the situation is much better than it was 5 years ago.