On Fri, 12 Apr 2013 13:17:07 -0400, Andrej Mitrovic <[email protected]> wrote:

On 4/12/13, Steven Schveighoffer <[email protected]> wrote:
The issue I have is e.g. if std.process (a locked-API normal module in
this instance) uses std.log..

It's just that warnings start to become really annoying after a while.
I'd rather be warned every time I create a new project and use
std.process (I will likely forget to pass -version=Use..), than be
warned every single time I compile without the possibility to silence
the compiler.

Hence my lamenting for a way to stop it :)

At this point though, we don't have anything equivalent to #defines.

Hm... how about this idea:

1. Add std.exp.module with the API as it will be WITHOUT warnings
2. Add std.module with your suggested version statement, that publicly import std.exp.module 3. Internal phobos modules that use std.module privately will import std.exp.module directly to avoid the printout 4. upon official release, std.exp.module is moved to std.module, and the warning is removed. Modules in phobos that privately used std.exp.module are updated to import the official version.

The only issue I see with this is, if we ever get dynamic libraries, a recompile will work, but an update of the dynamic lib will not.

I think a little compiler help here would be immensely useful.

-Steve

Reply via email to