DIP 1009 (Add Expression-Based Contract Syntax) Accepted

Dmitry Olshansky dmitry.olsh at gmail.com
Wed Apr 11 20:45:15 UTC 2018


On Friday, 6 April 2018 at 12:26:36 UTC, Mike Parker wrote:
> Congratulations to Zach Tollen and everyone who worked on DIP 
> 1009. It took a painful amount of time to get it through the 
> process, but it had finally come out of the other side with an 
> approval. The proposal itself was approved early on, but it 
> needed quite a bit of revision to get to an acceptable final 
> draft. The DIP in its final form:
>
>
> https://github.com/dlang/DIPs/blob/master/DIPs/accepted/DIP1009.md

  What would have made contract trully powerful for me is them 
being emitted at caller side. This way if I use a release build 
of library but debugging my app I still get my stupidity guarded 
by contracts of the API. *

Now *that* would be marvelous. Otherwise having a debug build for 
each of libraries just to check my precondition is too much of 
drag I’d say. After all libraries are typically stable code that 
are (presumably) debugged and you want them to be fast.

* Templates kind of muddy the waters being conpiled with the 
flags of caller (another reason why they are a mess). Meaning 
they will work with contracts if caller choses to have debug 
build.


More information about the Digitalmars-d-announce mailing list