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