What    |Removed                     |Added
             Status|RESOLVED                    |REOPENED
         Resolution|INVALID                     |
           Severity|normal                      |enhancement

--- Comment #6 from 2012-05-02 13:14:21 PDT ---
(In reply to comment #5)
> This report is invalid,

I disagree.

> it is working as designed.

Therefore the design is flawed and this report is an enhancement.

> This is how inheritance of contracts and overriding of functions is supposed 
> to
> work.

This report is not about how inheritance and overriding work, it is about
static vs. dynamic binding. (Though inheritance and overriding of contracts
also don't work how they are supposed to work, see issues 6856 and 7584.)

> >void fun(A a)
> >The point is that fun() must satisfy the precondition for A.
> This is incorrect. It must satisfy the precondition for A or any class derived
> from A.

How does it know which one to satisfy? If it does, it might as well just
downcast the reference in order to get a wider interface. If it does not, it is
a bug in fun() if it fails to satisfy the precondition for A. (It's signature
claims it can handle all A's!)

Configure issuemail:
------- You are receiving this mail because: -------

Reply via email to