On Fri, 01 Jul 2011 18:24:08 +0200, Timon Gehr <timon.g...@gmx.ch> wrote:

The child's contract says: If my parent's contract failed, I can still satisfy the
postcondition, if this _alternative_ precondition holds. But it does not
necessarily have to pass on all input the parent passes on, because it does not
even get checked if the parent's precondition holds.

If you add such a check, the child's in-contract will have to carefully duplicate the parent's precondition in order not to provoke a nonsensical runtime-error. Adding such a check would make D's contracts unusable in anything but the most
trivial cases.

(Analogously, the child's 'out'-contract does not have to re-check the parent's
postcondition.)

'Capiche?' ;)

Absolutely. I was in the process of answering your other post where you
outlined this. Believe me, I'm on your side now. :p


--
  Simen

Reply via email to