Template argument deduction is too strict
Lars Kyllingstad
public at kyllingen.NOSPAMnet
Wed Oct 22 00:20:49 PDT 2008
Walter Bright wrote:
> Lars Kyllingstad wrote:
>> The function template
>> void foo(A)(A a, real b) { ... }
>> is matched by
>> foo(1, 1.0L);
>> but not by
>> foo(1, 1.0);
>> since the second argument is a double literal.
>>
>> I think the latter should also work, since it would work for a
>> non-templated function. Don't you agree? :)
>>
>> I am using D1, by the way. Is it the same in D2?
>
> The code:
>
> void foo(A)(A a, real b) { }
>
> void test()
> {
> foo(1, 1.0);
> }
>
> compiles with both D1 and D2.
Ok, must be that I'm using an outdated compiler, then. I am using 64-bit
Linux, so I have to use GDC. (Right?)
-Lars
More information about the Digitalmars-d
mailing list