Hello,

I have a question about the semantic of parameter specialization(TemplateTypeParameterSpecialization) In this following code, there are 2 forms of the same function 'add' :
<code>

T add(T, U : T) (T a, U b)   //doesn't work
{
    return a + b;
}

T add(T, U) (T a, U b) if(is(U : T)) //works
{
    return a + b;
}


void main()
{
    assert(add(2, cast(short)2) == 4);
}
</code>
So, I infer that, in this case, TemplateTypeParameterSpecialization and TypeSpecialization(of IsExpression) aren't semantically equal ? What are differences between this 2 forms ?

Eyyub,

(I hope that I have an english a bit compréhensible)

Reply via email to