enforce()?

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Mon Jun 28 04:17:53 PDT 2010


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.

Andrei


More information about the Digitalmars-d mailing list