On Sun, 31 Oct 2010 11:54:18 -0400
David Simcha <[email protected]> wrote:

> 3.  An alwaysAssert() function that stays on in release mode but is 
> otherwise equivalent to assert().  I had been using enforce() for this, 
> but I don't like that anymore because it throws Exception, not 
> AssertError by default.  This means that if I write catch(Exception), I 
> could accidentally be catching what is effectively an assertion 
> failure.  Since assert() is supposed to be terse to encourage the 
> programmer to use it liberally, explicitly passing AssertError to 
> enforce() doesn't cut it.  Mostly what I need here is a better/terser 
> name than alwaysAssert().  Given the nature of this feature, I'd say 
> terseness actually beats explicitness.  The best I've come up w/ so far 
> is rassert() for release assert.

Hello,

[New to D. Mainly subscribed to the list as a help in getting to know the lib 
quicklier.]

"Release asserts" seem to me nearly a necessary feature. (Precisely, bugs have 
the unpleasant habit of hiding during test phases.]

As for names:
        predict(n != 0)         playing with "predicate"
        exclude(n == 0)         reversing the assertion
The latter looks good to me in the sense contract.

Denis
-- -- -- -- -- -- --
vit esse estrany ☣

spir.wikidot.com

_______________________________________________
phobos mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/phobos

Reply via email to