On 11/04/2018 8:36 PM, Shachar Shemesh wrote:
struct S {
     static void func(T)(uint a, T t) {
     }

     static void func() {
     }
}

Your mission, Jim, should you choose to accept it, is this:

Get a pointer to the version of the function that accepts no arguments.

As always, should you or any of your Force be caught or killed, the Secretary will disavow any knowledge of your actions. This disc will self-destruct in ten seconds.

Good luck, Jim.

import std.stdio;
void main()
{
    writeln("Hello D ", &wrapper!(S, "func"));
    wrapper!(S, "func");
}

struct S {
    static void func(T)(uint a, T t) {
        writeln("a");
    }

    static void func() {
        writeln("b");
    }
}

pragma(inline, true)
auto wrapper(T, string name, Args...)(Args args) {
    mixin("return T." ~ name ~ "(args);");
}

Reply via email to