Shortcut evaluation for hierarchy of in contracts

David Nadlinger see at klickverbot.at
Fri Jul 1 08:16:41 PDT 2011


On 7/1/11 5:18 PM, Timon Gehr wrote:
> There are 4 possibilities:
> 1. Both parent and child contract would pass.
> 2. Parent passes, child would fail.
> 3. Parent fails, child passes.
> 4. Parent fails, child fails.
>
> The only case where any statement can be made is case 3: "Contracts are certainly
> well-formed".
> You cannot deduce the well- or ill-formedness of the contracts from any of the
> other outcomes.

In my opinion, one *is* able to declare the child contract invalid in 
case 2 – if the parent passes but the child fails, it certainly violates 
the »loosening« property of in contract inheritance. If you don't think 
so, could you please explain your doubts in more detail?

David


More information about the Digitalmars-d mailing list