[Issue 17648] New: dmd segfault on overload set introspection

via Digitalmars-d-bugs digitalmars-d-bugs at puremagic.com
Thu Jul 13 09:53:07 PDT 2017


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: nobody at puremagic.com
          Reporter: john.loughran.colvin at gmail.com

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

--


More information about the Digitalmars-d-bugs mailing list