Earlier quoted context omitted.
This is silly. Rust could not achieve its performance and safety goals without macros and generics. Generics may have been optional for Go (I don't agree, but let's go with it), but there is no way to achieve zero-cost memory safety without generics (while supporting first-class references and dynamic allocation). Rust generics are deliberately less expressive than C++ templates, in that they're strongly typed. That'…
Animats had a very important point. While magic is so attractive and perhaps even useful in moderation, it causes so much damage in a large code base. In C++, you get this damage from for example operator overload abuse (ok for math, not many other defensible uses), template abuse (ok in moderation), ninja exceptions and inheritance (especially multiple inheritance, ugh). Anyways, if Rust proves to be a feasible work…
By the way, Rust has no "template abuse", "ninja exceptions", or "inheritance".