BCS : > #1 is a bad idea as are almost all special case rules Right, I was not looking for a special case.
> #2 is just flat wrong 99.9% of the time. I see. Then I will think if it's right to remove that "bug" report or not. ---------------- >I have to ask. :) What does that code supposed to mean? Is Foo the base type >of the enum, so that we can create enum values for user types as well?< In D2 Walter has decided to use the keyword "enum" to represent what in D1 is "const". So that's not an enumeration at all, it's just a constant. With other people I think it's a bad choice to use "enum" to say "const", but I think it's one of small warts of D2 that will not change... That code just means that I want to create a compile-time const value initialized at its default (init). But it's not correct current D2 code, you have to write: struct Foo {} enum Foo f = Foo(); void main() {} If you don't want that doplication you can also write: enum auto f = Foo(); Bye, bearophile