FunctionTypeOf behaves unexpectedly for function pointers?

pineapple via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Mon Aug 1 03:30:00 PDT 2016


On Saturday, 30 July 2016 at 12:54:32 UTC, Basile B. wrote:
> func is a pointer to a function but FunctionTypeOf extracts the 
> target type.
> So the correct assertion is
>
>     static assert(is(FunctionTypeOf!func* == typeof(func)));
>
> I can't believe that it worked for delegates because the same 
> happens. It extracts the target type, i.e it discards the 
> information saying that it's a member function:
>
>     import std.traits;
>     void function() fun;
>     void delegate() dlg;
>     static assert(is(FunctionTypeOf!fun* == typeof(fun)));
>     static assert(is(FunctionTypeOf!dlg* == typeof(fun)));

Ah, that makes sense. Thank you!


More information about the Digitalmars-d-learn mailing list