Slides from my ACCU Silicon Valley talk

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Tue Dec 14 00:56:30 PST 2010


On 12/14/10 2:23 AM, Walter Bright wrote:
> bearophile wrote:
>> Andrei:
>>
>>> D's constrained templates were introduced on 17 June 2008 and they've
>>> been
>>> a smashing hit. Virtually all of Phobos uses them, and I'm sure a lot of
>>> generic client code. They take half a minute to explain and solve a
>>> difficult problem in a very simple manner.<
>>
>> A template with two constrains makes it less handy to add error
>> messages that
>> explain why the instantiation has failed:
>
> Adding such error messages misses the point of constraints. The idea is
> that template overloading is based on constraints. Given 3 templates
> with 3 constraints, overload resolution picks the one with constraints
> that pass. Giving error messages for the others is wrong.
>
> If you want it to produce error messages if the instantiation is wrong,
> the correct way is to use static asserts within the template body. No
> additional features serve any purpose.

Yah, I was planning on writing the same response.

Andrei


More information about the Digitalmars-d mailing list