Perhaps someone indeed has been "widely expecting" a huge new source of complexity in C++'s already very complex static binding rules to help produce better error messages. I personally have never met that someone.
Perhaps someone indeed has been "widely expecting" a huge new source of complexity in C++'s already very complex static binding rules to help produce better error messages. I personally have never met that someone.
Basically the problem with templates is that there is no check for whether a thing can be satisfy a function/operation till it's fully expanded and it's hard to figure out where the "error" occurred during the template expansion. I thought concepts were meant to be like type classes (and type class limits to generics) in other languages so that the template writer could say that a template parameter has to implement x,y,and z and if the type passed in doesn't put the error at that expansion.
An optional constraint on a feature(templates) otherwise too powerful for good error messages.