Issue 11666: "Separation of platforms", and module declaration
Mike via Digitalmars-d
digitalmars-d at puremagic.com
Fri Aug 8 22:08:09 PDT 2014
I'm exploring a technique in D that may help provide an alternate
solution to issue 11666 - Separate each platform's port to its
own folder [1].
The idea is to have the same module declaration in multiple
files, but guarded by `version`.
// port_linux.d
version (linux):
module port;
// port_windows.d
version (Windows):
module port;
Unfortunately, this fails to compile with the following error:
Error: Declaration expected, not 'module'
So, it appears the compiler currently requires the module
declaration to appear first in the file.
A related issue is 12567 - Modules can't be marked deprecated [2].
* Is this an arbitrary limitation, or is there a technical reason
for it?
* Would a PR allowing `version()`, attributes, etc... to appear
before the module declaration have any unintended consequences?
Thanks in advance for your thoughtful replies,
Mike
[1] https://issues.dlang.org/show_bug.cgi?id=11666
[2] https://issues.dlang.org/show_bug.cgi?id=12567
More information about the Digitalmars-d
mailing list