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!

Reply via email to