The new core.sys.windows
Vladimir Panteleev via Digitalmars-d
digitalmars-d at puremagic.com
Wed Oct 14 19:23:31 PDT 2015
On Thursday, 15 October 2015 at 01:51:50 UTC, Mike Parker wrote:
> On Wednesday, 14 October 2015 at 21:52:05 UTC, Vladimir
> Panteleev wrote:
>
>
>> For example: usage of named enums. In C, all enums (or
>> #defines) all live within the name namespace, with a prefix
>> serving as the disambiguating "namespace", and all are
>> implicitly convertible to each other. In many places, the
>> bindings use named enums instead, which provides the advantage
>> of strong typing - if a function accepts a parameter of a
>> certain enum, you cannot accidentally pass a member of another
>> enum.
>>
>
> I think named enums are a bad idea. For one thing, it's
> inconsistent with the other system modules. For another, it's a
> pain point for porting existing C code to D. If they are kept,
> then at the very least aliases ought to be provided.
Well, aliases would allow both C source compatibility and strong
typing. Plus, it won't be a breaking change, so they can be added
whenever. Now that we don't need to support D1, this can be done
with a mixin OSLT.
More information about the Digitalmars-d
mailing list