Thread overview
What's wrong with this enum?
Feb 23, 2011
Andrej Mitrovic
Feb 24, 2011
Jesse Phillips
Feb 24, 2011
Andrej Mitrovic
Feb 24, 2011
Andrej Mitrovic
February 23, 2011
// Works
enum : int[string]
{
    Circle = ["CoolCircle":50]
}

//  Error: non-constant expression ["CoolCircle":50]
enum shapes : int[string]
{
    Circle = ["CoolCircle":50]
}

I can't find this in bugzilla.
February 24, 2011
Andrej Mitrovic Wrote:

> // Works
> enum : int[string]
> {
>     Circle = ["CoolCircle":50]
> }
> 
> //  Error: non-constant expression ["CoolCircle":50]
> enum shapes : int[string]
> {
>     Circle = ["CoolCircle":50]
> }
> 
> I can't find this in bugzilla.

I believe it is because

shapes.Circle["CoolCircle"] = 25;

perhaps a a defining:

enmu shapes : const(int[string])

would work?

Anyway with DMD 2.052 I'm not getting your error.
February 24, 2011
On 2/24/11, Jesse Phillips <jessekphillips+D@gmail.com> wrote:
> I believe it is because
>
> shapes.Circle["CoolCircle"] = 25;

Huh?

> perhaps a a defining:
>
> enmu shapes : const(int[string])
>
> would work?

Nope.
enumtwobug.d(10): Error: non-constant expression
["CoolCircle":cast(const(int))50]

>
> Anyway with DMD 2.052 I'm not getting your error.
>

What OS are you running? I'm running 2.052 and getting the error on Windows. Maybe it's an OS-specific bug.
February 24, 2011
I've tested on Ubuntu it still errors out.