On Fri, 12 Apr 2013 12:49:09 -0400, Andrej Mitrovic <[email protected]> wrote:

On 4/12/13, Steven Schveighoffer <[email protected]> wrote:
pragma(msg, module.stringof ~ " is experimental, subject to API changes");

I like this better:

version(UseExperimentalProcess) { }
else pragma(msg, module.stringof ~ " is experimental, subject to API changes");

That way I can turn off the warning by passing
-version=UseExperimentalProcess on the command-line. That of course
means I take full responsibility for using experimental code.

The issue I have is e.g. if std.process (a locked-API normal module in this instance) uses std.log (an experimental module subject to API breaking changes). I am not using std.log directly, so my code is not subject to breakage if std.log changes. I assume that since std.process and std.log live together, a change to std.log's API will be covered with an appropriate change to std.process. But I still see the warning without version=UseExperimentalLog. People will simply use that flag and it will become trivial.

-Steve

Reply via email to