Why I chose D over Ada and Eiffel
John Colvin
john.loughran.colvin at gmail.com
Thu Aug 29 07:41:34 PDT 2013
On Thursday, 29 August 2013 at 14:34:37 UTC, Joseph Rushton
Wakeling wrote:
> On 29/08/13 16:13, John Colvin wrote:
>> struct Limited(T, T lower, T upper)
>> {
>> T _t;
>> mixin Proxy!_t; //Limited acts as T (almost)
>> invariant()
>> {
>> enforce(_t >= lower && _t <= upper);
>> }
>> this(T t)
>> {
>> _t = t;
>> }
>> }
>
> Is the invariant() not going to be stripped out at compile time
> if you use -release ?
sadly, yes. We need a release version of them, just like we have
enforce and assert. Unfortunately in this case it won't be a
library solution and will need compiler support.
More information about the Digitalmars-d
mailing list