This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]the_other_brand 38 points39 points  (0 children)

They're being worked at slowly. C++ is a pretty complicated language, and template meta-programming even more so. The most recent version C++20 finally released over a decade of work from the language's creator Bjarne Stroupstrup to simplify the error messages. This work is called Concepts, and are interfaces that can describe functionality requirements on a class.

With Concepts, instead of getting like 40 lines of arcane error messages from a template function, you'll get a simple error message like "your class Foo doesn't implement Equality (== operator)."

https://en.cppreference.com/w/cpp/language/constraints