On Friday, 11 March 2016 at 01:04:05 UTC, jmh530 wrote:
On Friday, 11 March 2016 at 00:07:45 UTC, Jonathan M Davis wrote:

You're not using in or out contracts here at all, so so of course, you're not going to see how in/out contracts work with inheritance in this example. To quote http://dlang.org/spec/contracts.html:


Sigh...my point was that I was replacing the in/out contracts with what you were saying about asserts and scope(exit). Not that I have no idea what in/out contracts are.

Sure, but if you're not using in/out contracts with a class, you're not going to see how they interact with inheritance. To mimic what they do, you'd have to duplicate the base class contracts in the derived class and make sure that you ||ed the in contracts correctly and &&ed the out contracts correctly, which isn't very maintainable.

- Jonathan M Davis

Reply via email to