Design By Contract
Chris Nicholson-Sauls
ibisbasenji at gmail.com
Thu Nov 2 12:38:09 PST 2006
Bruno Medeiros wrote:
> Chris Nicholson-Sauls wrote:
>
>> Stephane Wirtel wrote:
>>
>>> Hi all,
>>>
>>> I don't know if there is a release mode or debug mode, so. I did not
>>> read the specs of D. I would like to known if is it possible to disable
>>> the design by contract in release mode ?
>>>
>>> Thanks
>>
>>
>> Well, there is debug mode, release mode, and what I like to term
>> "indifferent mode." To get debug mode you, simply enough, pass the
>> "-debug" command line switch to DMD. To get release mode, you pass
>> "-release" to it, which disables all the runtime features covered by
>> Design-by-Contract, and a few other things. To get "indifferent mode"
>> just don't pass either switch. I'm really not sure what to say about
>> it, except that it neither passes the debug flag to the parser (there
>> is a 'debug' attribute that can be used for applying debug-mode-only
>> code, with an optional 'else' clause for its indifferent/release-mode
>> counterpart), nor does it seem to cut out the features that
>> release-mode cuts. Its... just there. Huh.
>>
>> In short, essentially... yes. In release mode, all runtime
>> Design-by-Contract (and other related things) are gone.
>>
>> -- Chris Nicholson-Sauls
>
>
> And what do you call "-release -debug" mode? It's confusing (perhaps
> unnecessarily) but the two options are not related, there are 4 "modes".
>
>
Personally, I call it "confounded mode" and never use it. Not even sure what use it could
have.
-- Chris Nicholson-Sauls
More information about the Digitalmars-d
mailing list