Improve "Improve Contract Syntax" DIP 1009
Nick Treleaven
nick at geany.org
Fri Nov 3 17:37:30 UTC 2017
On Friday, 3 November 2017 at 02:32:41 UTC, Jonathan M Davis
wrote:
> Personally, I hate how verbose they are, but my solution is
> just not to use them. And IMHO, the only place that they add
> real value is in classes, where their success or failure can be
> &&ed or ||ed based on how that should work with inheritance.
> For struct member functions or free functions, where no
> inheritance is involved, they add considerably less value.
One advantage is documentation of expected pre-conditions. With
the proposed block-less syntax, people would presumably use them
more. Then there would be a bigger motivation for some compilers
to insert the contracts at the call site, and use this
information for optimization on the caller side, or to point out
logical inconsistencies in the calling code (e.g. detecting
invalid null arguments).
More information about the Digitalmars-d
mailing list