On 29/05/2011 14:03, bearophile wrote:
Stewart Gordon:

There are places where the spec fails to make a clear distinction between 
illegal code and
incorrect code that the compiler may reject if it's smart enough.

In D there are pure functions, so I think it's not too much hard for it to tell 
apart
when the contents of an assert() are pure or not.
My opinion is that the D compiler has to enforce purity inside assert(), to 
avoid bugs.

Only if purity rules are relaxed. AIUI, one of the restrictions at the moment is that in a pure function only immutable data can be accessed. As long as this restriction remains in place, adding the restriction of purity to asserts would erode their usefulness.

Stewart.

Reply via email to