On Saturday, 9 September 2017 at 21:08:16 UTC, Adam D. Ruppe wrote:
On Saturday, 9 September 2017 at 20:45:59 UTC, EntangledQuanta wrote:
unless enum's are implicitly castable to int's

They are, unless you specify some other base type.

https://dlang.org/spec/enum.html#named_enums

See points 3 and 5 there. It will cast to the base type (int by default), but you cannot pass the int as the enum.


which someone once told me that D didn't like implicit casts because of issues

D has LOTS of implicit casts, including user-defined ones. Some are restricted because of issues, but generally speaking, D is pretty ok with them.

What's the point then of even having an enum parameter? If it will just be cast to an int, why not use an int? People always complain about making the compiler more complex but this makes it more complex without actually solving any problem or doing anything useful.

I guess those that actually write the code are the ones who get to decide where the arbitrary line is drawn, whatever is convenient for them. Would just be nice if they were up front about it instead of trying to justify with logic why they chose to prevent some things. I'd rather hear "I did it that way because I wanted to" rather than some blather trying to use logical reasoning.

Reply via email to