Davidson Corry:

> Did D2 ever implement the Eiffel "old" construct?

At the moment there no prestate in D. I agree that prestate is an important 
sub-feature of contract programming. It was discussed two or three times, but 
the discussions didn't produce actual results. I think it was not implemented 
because I think Walter thinks D contract programming is a half failure (I don't 
agree on this) and because implementing the prestate is a bit tricky. I suggest 
to ask about this in the main D newsgroup, and show two use cases too. I think 
if enough people show use cases, and someone writes a good enough pull request 
for DMD, it will be added to D/DMD.


> If not, has anyone developed a reasonable workaround? Thanks.

In classes inside a debug I have defined handmade "ghost attributes":

debug {
  int ghost1, ghost2;
}

I use them to manually store the prestate that later I want to verify. This is 
not a very good solution...

Bye,
bearophile

Reply via email to