On Friday, 14 July 2017 at 22:25:15 UTC, data pulverizer wrote:
I am aware that this suggestion touches the language and the compiler - and may significant implications. I would like to know whether this could be done without too much effort and whether it would break anything else?

If you are writing lots of overloaded templates, constraints can have unintended behaviour because you end up telling the compiler what not to do rather than what to do. The above Unions are clear and simple, easy to use and should result in cleaner more robust code.

In addition with template specializations you get constraints for free. If I implement template overloads which are all specializations, the compiler gives me a very informative error if I step outside the pre-defined set of implementations. That's just brilliant - exactly what you want! I immediately know when I see that error what the issue is. Am I being naive? Why are constraints better?

Reply via email to