alwaysAssert() [was: Against enforce()]
Walter Bright
newshound2 at digitalmars.com
Thu Mar 17 15:03:30 PDT 2011
On 3/17/2011 1:49 PM, dsimcha wrote:
> == Quote from Walter Bright (newshound2 at digitalmars.com)'s article
>> On 3/17/2011 12:32 PM, dsimcha wrote:
>>> I've asked for this before and I'll ask again: Can we **please** put an
>>> alwaysAssert() function (or an abbreviation of this to make it less verbose) in
>>> Phobos? I proposed this once before and it wasn't well liked for some reason
>>> This reminded me to persist a little about it.
>> Not always the prettiest, but you can write:
>> if (!condition) assert(0);
>> The assert(0) will be replaced with a HLT instruction even in release mode.
>
> This is better than nothing, but not enough to convince me to stop abusing
> enforce(). I much prefer to have a real alwaysAssert() function that gives a
> file, a line number and an error message.
if (!condition) { writeln("my message %s %s", __FILE__, __LINE__); assert(0); }
I am strongly opposed to using enforce() for bug detection.
More information about the Digitalmars-d
mailing list