On Monday, 29 February 2016 at 21:03:46 UTC, pham wrote:
Should codes below be compiled?

import std.stdio;

class Test
{
        enum string[string] WorkAA =
        [
                "foo": "work"
        ];

        immutable string[string] NotWorkAA1 =
        [
                "foo": "not work"
        ];

        string[string] NotWorkAA2 =
        [
                "foo": "not work"
        ];
}

void main()
{
        Test t = new Test();    
}

Test with DPaste with below error messages

Result: Compilation error / Return code: 1 (Hangup)
Compilation output:

/d699/f49.d(11): Error: non-constant expression ["foo":"not work"] /d699/f49.d(16): Error: non-constant expression ["foo":"not work"]

According to the specs it should but right now it doesn't, it's a know long-lasting bug. AA can't be initialized at compile-time for the moment (and likely not before a long time).

Reply via email to