Function pointer variable not recognized as function by is-operator

Timon Gehr timon.gehr at gmx.ch
Sun Oct 7 01:42:49 PDT 2012


On 10/07/2012 10:35 AM, Jonathan M Davis wrote:
> On Sunday, October 07, 2012 10:25:41 Tommi wrote:
>> The following compiles, which I'm pretty sure must be a bug,
>> right? Just checking to be sure I won't be polluting the bug
>> tracker.
>>
>> void main()
>> {
>>       auto f = (int i) {};
>>       static assert (!is(f == function)); // should fail
>>       static assert (!is(f == delegate));
>> }
>
> It's not a bug. is(f == function) checks for functions, not function pointers.
>
> http://stackoverflow.com/questions/11067972
>
> - Jonathan M Davis
>

Actually is(f==function) checks whether or not f is a function type.
The ==function part is unimportant, because f is not even a type.


More information about the Digitalmars-d-learn mailing list