https://issues.dlang.org/show_bug.cgi?id=17648
Issue ID: 17648
Summary: dmd segfault on overload set introspection
Product: D
Version: D2
Hardware: All
OS: All
Status: NEW
Severity: major
Priority: P1
Component: dmd
Assignee: [email protected]
Reporter: [email protected]
$ cat blah.d
alias BS = BSA;
alias BS = BSB;
template BSA(alias T)
{
}
template BSB(T)
{
}
void foo()
{
void bar(alias composite)()
{
foreach (member; __traits(allMembers, composite))
enum a = __traits(compiles, __traits(getMember, composite,
member));
}
bar!blah;
}
segfaults in resolvePropertiesOnly, no idea why it would end up there. I
initially thought it was to do with recursing on the same module, but it turns
out that it still happens if you take foo to another module.
--