Michel Fortin wrote:
On 2010-06-28 07:17:53 -0400, Andrei Alexandrescu <seewebsiteforem...@erdani.org> said:

On 06/28/2010 03:15 AM, Norbert Nemec wrote:
On 19/06/10 22:46, Andrei Alexandrescu wrote:
On 06/19/2010 03:55 PM, bearophile wrote:
Inside Phobos2 I have counted about 160 usages of the "body" keyword.
I think contract programming can be used more often inside Phobos2
(and maybe some usages of enforce() can be turned into contract
programming because they are more similar to program sanity checks).

Walter and I discussed this and concluded that Phobos should handle its
parameters as user input. Therefore they need to be scrubbed with hard
tests, not contracts.

IMHO, this is plain wrong!

By this kind of decision, you are putting the library user under
tutelage. The D language is explicitly designed to allow the user to
take off the safety belt, but to do so at their own responsibility.

C APIs also check their arguments.

With C you don't have the option to turn the checks on or off.

#define NDEBUG


Andrei

Reply via email to