DIPX: Enum Literals / Implicit Selector Expression
Dave P.
dave287091 at gmail.com
Fri Dec 3 18:43:27 UTC 2021
On Friday, 3 December 2021 at 05:41:20 UTC, Rumbu wrote:
> On Thursday, 2 December 2021 at 19:44:07 UTC, russhy wrote:
>> could be implemented if we all agree that it would be a nice
>> addition to the language!
>>
>> Link:
>> https://gist.github.com/RUSShyTwo/2fcf6d294d25ba748d61927b5eed2944
>
> In C# you can bring all enum members into scope with `using
> static`
>
> [...]
>
> An equivalent D idiom will be
>
> ```d
> static alias MyEnum;
> ```
>
> [...]
The problem with this solution (and other `with` based solutions)
is that it is effectively undoing a nice feature of D of sane
namespaces. If you use a class or a struct, you don’t have to
explicitly dump all of its member functions into your current
scope. You just look up the symbol in the namespace of the
struct/class. Similarly, a benefit of this proposal and how it
works in Jai/Zig/Odin is that the compiler already knows what
type it is expecting and so you are just looking up the name in
the namespace of that type. No namespace pollution and it is very
convenient.
More information about the Digitalmars-d
mailing list