I'm getting a mysterious OPTLINK crash on Windows 7 x64, DMD32 v2.060. The error is very sensitive to the actual code; I suspect some sort of limit is overflowing (perhaps a "maximum symbol name length" of some sort?).

The code to reproduce it (... hopefully) is below:

// dmd -property -vtls -w -wi ICE.d -g
private import std.algorithm, std.range, std.regex;
void foo() { "".match(regex("")); }
auto parseInput()
{
        int[int] g;
        auto items = g.keys.map!(l => g.keys.map!(ps => regex(""))())();
        return (delegate(x)
        {
                struct S { }
                return items.map!(t => t)();
})(g.keys.filter!(k => k)().map!(p => g.keys.map!(p => p)())().array());
}
void main() { parseInput(); }


Ideas?

Reply via email to