Hi all,

Barring last minute objections, the new core.sys.windows package is ready for merging:

https://github.com/D-Programming-Language/druntime/pull/1402

Essentially this is the win32 package from the DSource bindings project with the necessary adjustments for Druntime inclusion. See the PR description for details.

There are two remaining open questions, which although don't block the merge, warrant wider discussion:

1. License. Most headers in the win32 project state that they are in the "public domain". As such, we could relicense them under the Boost software license (the license used for most D components). This could also be done later, but cannot be reversed. I understand that releasing something as public domain is also not legally recognized in many jurisdictions.

2. Successive edits in layout, style, strictness and D-ification. Once the PR is merged, we will have a window until the next master-borne release during which we can make breaking changes. After that, no breaking changes should be made.

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.

So, if you have any ideas along these lines, speak up now.

Reply via email to