checkedint call removal
Andrei Alexandrescu via Digitalmars-d
digitalmars-d at puremagic.com
Tue Jul 29 12:41:03 PDT 2014
On 7/29/14, 12:35 PM, Walter Bright wrote:
> On 7/29/2014 3:13 AM, Dicebot wrote:
>> On Tuesday, 29 July 2014 at 07:31:26 UTC, Walter Bright wrote:
>>> You can choose to disable assertions with a switch, or not. Having a
>>> choice up
>>> to you doesn't make it useless.
>>
>> Yes I know what are options to make it work. I don't know how to make
>> it work
>> "in a good style". This is not just D problem - I feel like something
>> is missing
>> in the design by contract idea, something that actually can make it
>> robust
>> enough to be used without "oh crap" moments.
>
> To have an assert despite -release, you can do things like:
>
> assert(exp); => if (!exp) assert(0);
Fancier: exp || assert(0) is still an expression.
> I generally leave asserts in for released code in my projects. You can
> see this in dmd which often exhibits a fault as a tripped assert.
I wonder how fast dmd would be if we turned assertions off. Would be an
interesting experiment to run.
Andrei
More information about the Digitalmars-d
mailing list