On 2019-12-03 13:00:49 +0000, Adam D. Ruppe said:
On Tuesday, 3 December 2019 at 10:39:08 UTC, Robert M. Münch wrote:
In large scale projects this will become a big problem as you can't
assume that every developer knows about all the contracts of a
superclass.
That's the beauty of `override in(false)` - you don't have to know
about the superclass. You can use it and it works in all cases.
My point was, when the superclass doesn't has an in() contract:
Error: function contracts.Derived.test cannot have an in contract when
overridden function contracts.Base.test does not have an in contract
So, I need to know that the superclass has a contract and that I want
to fallback to it. The former is the hard part.
Though that's also a possible argument for the language change.
Yes, but only if the superclass has an in() contract.
--
Robert M. Münch
http://www.saphirion.com
smarter | better | faster