www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 18947] New: No way to get list of overloads from template

https://issues.dlang.org/show_bug.cgi?id=18947

          Issue ID: 18947
           Summary: No way to get list of overloads from template mixins
           Product: D
           Version: D2
          Hardware: x86
                OS: Windows
            Status: NEW
          Severity: normal
          Priority: P1
         Component: dmd
          Assignee: nobody puremagic.com
          Reporter: simen.kjaras gmail.com

mixin template foo(T) {
    void fun(T) {}
}

struct S {
    mixin foo!int;
    mixin foo!string;
}

unittest {
    static assert(__traits(compiles, __traits(getMember, S, "fun")));
    static assert(__traits(getOverloads, S, "fun").length == 0);
    S s;
    s.fun(3);
}

Somehow the call to s.fun compiles, but trying to get the list of overloads
fails.

--
Jun 05 2018