Enum AA with classes not allowed anymore?

bauss jj_1337 at live.dk
Sun Oct 8 02:29:59 UTC 2017


I'm aware that the following has always been illegal:

enum a = new Foo();

However the following were used to work in older versions of DMD:

enum aa = [0 : new Foo("0"), 1 : new Foo("1")];

When did that change happen and what was the reason for the 
change? I were depending on AA's created like that to use them at 
compile-time.

It happens to break my following project:
https://github.com/bausshf/Diamond

More specifically:
https://github.com/bausshf/Diamond/blob/master/src/templates/parser.d#L13

The change has happened somewhere between 2.072.2 and the current 
version.


More information about the Digitalmars-d mailing list