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: [email protected]
          Reporter: [email protected]

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.

--

Reply via email to