On Sunday, 15 December 2013 at 11:27:51 UTC, bearophile wrote:
By the way, I am not criticizing "D verbose approach". I have
criticized the weak typing:
enum Foo { good, bad }
void main() {
int x = Foo.good; // Weak typing.
}
This is not a weak typing. An example of weak typing is array
literal [].
There is nothing wrong with converting enum to base type, since
enum is always subset of base type. Explicit cast in such case is
useless. What is your point against current behavior?
And some people have criticized the verbosity in special
situations, like this:
enum Foo { good, bad }
void bar(Foo f) {}
void main() {
// bar(bad); // Not enough
bar(Foo.bad);
}
Bye,
bearophile
because 'bad' is undefined identifier, but I see your point.