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