www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 19840] New: Ice in e2ir.d visit(CastExp) assert(false, "This

https://issues.dlang.org/show_bug.cgi?id=19840

          Issue ID: 19840
           Summary: Ice in e2ir.d visit(CastExp) assert(false, "This case
                    should have been rewritten to `__ArrayCast` in the
                    semantic phase");
           Product: D
           Version: D2
          Hardware: x86
                OS: Windows
            Status: NEW
          Severity: regression
          Priority: P1
         Component: dmd
          Assignee: nobody puremagic.com
          Reporter: iamthewilsonator hotmail.com

```
struct G
{
        ubyte[] I;
        alias I this; // Comment out to fix
}

auto M(ubyte[])
{
        G N;
        return N;
}
struct Tuple(fields...)
{
        fields expand;
}
alias P = Tuple!();

struct R { int T; }

struct U { R V; }

void X()
{
        import std.array;
        Appender!(U[])[P] Z;
        auto HB = P();
        Z[HB].put(cast(U[])[].M);
}
```

Introduced by https://github.com/dlang/dmd/pull/9516

--
May 01 2019