Hi,

What with D's contract programming getting publicity, I think it's high time we made the implementation match the documentation (and TDPL).

Just a 'few' contract-related issues:

* http://d.puremagic.com/issues/show_bug.cgi?id=6857
* http://d.puremagic.com/issues/show_bug.cgi?id=7584
* http://d.puremagic.com/issues/show_bug.cgi?id=6549
* http://d.puremagic.com/issues/show_bug.cgi?id=6856
* http://d.puremagic.com/issues/show_bug.cgi?id=7337
* http://d.puremagic.com/issues/show_bug.cgi?id=5039
* http://d.puremagic.com/issues/show_bug.cgi?id=7517
* http://d.puremagic.com/issues/show_bug.cgi?id=519

More subtle issues:

* http://d.puremagic.com/issues/show_bug.cgi?id=2350
* http://d.puremagic.com/issues/show_bug.cgi?id=4995

Syntactical issues/enhancements:

* http://d.puremagic.com/issues/show_bug.cgi?id=6415
* http://d.puremagic.com/issues/show_bug.cgi?id=5038
* http://d.puremagic.com/issues/show_bug.cgi?id=6453

The issues I personally see as most important are related to contract inheritance and contracts on functions without a body.

Additionally, I think that dropping the need for parentheses on invariant declarations would be a good idea, such that it feels more like unittest declarations. Furthermore, the ability to declare multiple invariants is essential for mixins and meta-programming in general.

(Many of the issues have pull requests pending review.)

Thoughts? I think we need to figure out most of these before 2.059...

--
- Alex

Reply via email to