'exp' vs 'std'? Forked: Vote for std.process

Steven Schveighoffer schveiguy at yahoo.com
Fri Apr 12 09:54:39 PDT 2013


On Fri, 12 Apr 2013 12:49:09 -0400, Andrej Mitrovic  
<andrej.mitrovich at gmail.com> wrote:

> On 4/12/13, Steven Schveighoffer <schveiguy at yahoo.com> 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


More information about the Digitalmars-d mailing list