On Tue, 13 Oct 2009 00:33:57 -0400, Andrei Alexandrescu <seewebsiteforem...@erdani.org> wrote:

Right now, the language has enough power to express assert as a library function, as opposed to a primitive construct. (See e.g. enforce.) I think it would be good to relegate assert to object.d.

This also brings up "lazy", which seems to be quite botched. Are there suggestions on how to replicate its functionality in a different way? I even seem to recall lazy was discussed as a disadvantage in the recent dialog on reddit, see

http://www.reddit.com/r/programming/comments/9qf8i/i_wrote_some_d_today_and_its_completely_blowing/

I personally believe it's useful to be able to pass an unevaluated expression into a function, for example assert and enforce themselves use that.

But let's open this for discussion: should assert and/or lazy be removed? If not, why not? It yes, why? How can we replicate their functionality?

How to trigger assert when no -debug or -release flag is set? Is there a flag we can trigger on?

From what I understand assert triggers when -debug or no flag is set, but not when -release flag is set.

-Steve

Reply via email to