http://d.puremagic.com/issues/show_bug.cgi?id=6857
--- Comment #53 from deadalnix <deadal...@gmail.com> 2012-05-05 08:58:21 PDT --- (In reply to comment #52) > (In reply to comment #51) > > I'm sorry, but this reading can't close the discussion. > > I think it does. The proposed behavior does not allow this: > > "None of this, then, is permitted. But the reverse changes are of course > legitimate. A redeclaration may weaken the original’s precondition or it may > strengthen the postcondition. Changes of either kind mean that the subcon- > tractor does a better job than the original contractor-which there is no > reason > to prohibit." > And indeed, it is not prohibited. > Doing a better job is succeeding where the parent method would have failed its > precondition. It all boils down to the fact that it's natural to have methods > that can't work in the parent but do work in the child. It is stated (quoting myself) that : « fizzbuzzB(B b) { b.foo(); // (A.foo OR B.foo)'s in contract is valid } » Which exactly the behavior you talk about. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------