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.
--