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.

Reply via email to