On Tuesday, 1 April 2014 at 18:35:50 UTC, Walter Bright wrote:
immutable bool[256] tab2;
static this()
{
    for (size_t u = 0; u < 0x100; ++u)
    {
        tab2[u] = isIdentifierChar0(cast(ubyte)u);
    }
}

Table lookups are awesome.

While tab2 there lends itself to being populated in a static this() it would really lower the bar if we could define static immutable AA literals at compile-time. Or at least CTFE-fill them. Having to rely on static this() for such is unfortunate and hacky.

Relevant is http://forum.dlang.org/thread/oxnwtojtdymopgvan...@forum.dlang.org in which I get a speed increase of >3.5x by doing string-to-enum translation/mapping using someEnum[string] AA lookups, instead of using someString.to!someEnum.

(Given CtAAs, std.conv.to could then generate such for various translations where cheap -- assuming we still like AAs?)

Reply via email to