Summary: Accessing item in enum'd array produced compiler error
           Product: D
           Version: 2.019
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]

I found this while porting Tango to D2, and converting manifest constants to
enums.  When using the full tango file, the result was a successful compilation
and a segfault.

However, when creating the minimal case:

struct S(T)
    invariant(T)[] s;

T foo(T)(T t)
    enum S!(T)[] i = [{"hello"},{"world"}];
    auto x = i[0].s;
    return t;
void main()
    auto x = foo('c');

the following error occurs:

dmd: inline.c:569: virtual Expression*
DeclarationExp::doInline(InlineDoState*): Assertion `ie' failed.

The segfault might be related to the inline.c error, so probably fix that. 
Then if the original error still occurs, I'll post another bug.


Reply via email to