DIP1044---"Enum Type Inference"---Formal Assessment

bachmeier no at spam.net
Wed Apr 26 15:13:09 UTC 2023


On Wednesday, 26 April 2023 at 13:08:22 UTC, Jacob Shtokolov 
wrote:
> On Wednesday, 26 April 2023 at 12:50:32 UTC, bachmeier wrote:
>> Many other solutions were provided as well, including but not 
>> limited to
>>
>> - Using shorter names
>> - Using alias
>> - Using an IDE with autocomplete
>> - Using copy and paste
>
> While aliases and shorter names are always good options, 
> autocomplete and copy/paste really aren't as the end user of 
> the code is either yourself or another developer, so reading 
> the mess produced with copy/paste makes life much more 
> miserable :)

Unless you're using incredibly long names (which is not a reason 
to change the language) I find the explicit approach to be more 
readable. If I have to parse the code and do inference, it's a 
lot more work, and in some cases, more error-prone.

We've had proposals to drop the semicolon requirement. I would 
hate that. It's easier to read code when I don't have to figure 
out where the lines end.

> I wish the `with()` operator would also be an expression, so 
> you could do something like:
>
> ```d
> auto f = with(Flags) A | B | C |D;
> ```

This would be great, but it goes against the spirit of this DIP, 
since you have to explicitly type out `with(Flags)`.



More information about the Digitalmars-d-announce mailing list