why are types mismatch?

Roman shamyan.roman at gmail.com
Tue Oct 1 12:11:24 PDT 2013


On Tuesday, 1 October 2013 at 18:46:45 UTC, deadalnix wrote:
> On Tuesday, 1 October 2013 at 18:38:33 UTC, Roman wrote:
>>> Can you paste the output of your code so we can help you more 
>>> easily ?
>>
>> int(int i) != int function(int)
>> int function(int i) pure nothrow @safe != int function(int)
>> 2
>> 4
>>
>> So, why 1st case incorrect?
>
> The first case is a bug to me. Can you fill it in 
> http://d.puremagic.com/issues/ please ? The second is expected.
>
> What you should do is test via is(typeof(...)) : 
> function_type). The : test for implicit conversion, and int 
> function(int i) pure nothrow @safe convert implicitly to int 
> function(int) .

With ":" bar!((int i)=> i*2)(2) works properly, but bar!foo(2) 
still doesn't pass expression ( evidently foo doesn't implicitly 
convert to function_type)


More information about the Digitalmars-d mailing list