www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 20833] New: Template members prevent __traits(getOverloads)

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

          Issue ID: 20833
           Summary: Template members prevent __traits(getOverloads) from
                    working properly
           Product: D
           Version: D2
          Hardware: x86_64
                OS: Linux
            Status: NEW
          Severity: regression
          Priority: P1
         Component: dmd
          Assignee: nobody puremagic.com
          Reporter: rmanth gmail.com

struct P
{
    void foo(T)(T t) {}
    void foo(long l) {}

    this(T)(T t) {}
    this(long l) {}
}

static assert(__traits(getOverloads, P, "foo").length == __traits(getOverloads,
P.init, "foo").length);
static assert(__traits(getOverloads, P, "__ctor").length ==
__traits(getOverloads, P.init, "__ctor").length);


Both static asserts fail. It worked in dmd-2.080.1 and stopped working in
dmd-2.081.0.

--
May 15 2020