Design By Contract
Chris Nicholson-Sauls
ibisbasenji at gmail.com
Thu Nov 2 20:23:06 PST 2006
Georg Wrede wrote:
> Chris Nicholson-Sauls wrote:
>
>> 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.
>
>
> Debugging release code? :-)
Thank you for this most wonderful headache. :)
-- Chris Nicholson-Sauls
More information about the Digitalmars-d
mailing list