[Issue 6857] Precondition contract checks should be statically bound.

d-bugmail at puremagic.com d-bugmail at puremagic.com
Fri May 4 06:20:04 PDT 2012


http://d.puremagic.com/issues/show_bug.cgi?id=6857



--- Comment #31 from Andrei Alexandrescu <andrei at metalanguage.com> 2012-05-04 06:21:14 PDT ---
(In reply to comment #30)
> You are making a massive assumption here, which I don't see in the slides. The
> assumption is that fizzbuzz gets access to B's weakened precondition.
> I've looked all over the Eiffel website and haven't seen anything which implies
> that. Rather, everything I read implies that it's a contract -- it's the
> clients responsibility to ensure that the precondition is satisfied. fizzbuzz
> doesn't have a contract with B, it doesn't even know that B exists.

I understand the distinction, and how the slides doesn't make it clear that the
precondition is dynamically bound. In fact the author found it so obvious as to
be unnecessary to mention (generally in the OOP world all methods are
dynamically bound unless expressly noted otherwise; C++ is an anomaly). The
second hit, http://goo.gl/5r7BF, clarifies with the diagrams on slides 17, 18,
20 and with the associated text that client code interacts with the base class
only.

The ultimate proof would be to read Meyer's book on DbC (or the other one)
and/or download the Eiffel compiler and compile an example.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list