Invariants are useless the way they are defined

Dmitry Olshansky dmitry.olsh at gmail.com
Mon Aug 26 09:50:04 PDT 2013


26-Aug-2013 20:47, H. S. Teoh пишет:
> On Mon, Aug 26, 2013 at 06:16:25PM +0200, Timon Gehr wrote:
>> On 08/26/2013 08:49 AM, deadalnix wrote:
>>>
>>> We simply need to add invariant check in the caller, not the callee,
>>> and not introduce them if the caller is itself subject to invariant
>>> insertion when called.
>>
>> The issue with this is that the invariant is not part of the public
>> interface.
>
> The fact that contracts are not part of the public interface greatly
> limits the usefulness of DbC in D. If they *were* part of the public
> interface, there'd be more options to improve it.
>
> But this isn't the first time this is brought up, and it still seems no
> solution is in sight. :-(
>

s/solution/implementation/

>
> T
>


-- 
Dmitry Olshansky


More information about the Digitalmars-d mailing list