Question about contracts on methods.

Peter C. Chapin pcc482719 at gmail.com
Mon Nov 30 19:42:46 PST 2009


Don <nospam at nospam.com> wrote in news:hf0obf$1th8$1 at digitalmars.com:

>>     void next()
>>     in {
>>         int original_day_m   = day_m;
>>         int original_month_m = month_m;
>>         int original_year_m  = year_m;
>>     }
>>     out {
>>         assert( ... expression using original_day_m, etc ... )
>>     }
>>     body {
>>       // No code related to pre or post conditions.
>>     }
>> 
>> This might not be an ideal resolution but it seems a lot better than
>> the current situation and it doesn't look like it would be too hard
>> to implement (but what do I know!).
> 
> The problem is, where do those variables get stored? The function body
> will overwrite anything that's left on the stack.

Couldn't the compiler just translate the above into something similar to 
your example using nested functions?

Peter


More information about the Digitalmars-d-learn mailing list