minimal evaluation

torhu no at spam.invalid
Mon Apr 6 04:52:58 PDT 2009


On 06.04.2009 13:30, Qian Xu wrote:
> Hi All,
>
> Is minimal evaluation always enabled in D?
>
> I want to write a function IsNull(), so that I can check the precondition as
> follows:
>
>    if (isNull(foo) ||
>        isNull(foo.getBar) ||
>        isNull(foo.getBar.getBar2)
>    {
>      return false;
>    }
>    // normal code goes here
>
> If an argument is null, the IsNull() will return false. Internally it will
> be logged to console as well.
>
> But I am not sure, if dmd-compiler generates code without minimal evaluation
> in some cases. If minimal evaluation is not always enabled. I cannot do
> precodition check in my way.
>
> --Qian

If you mean short-circuit evalutation, I'm pretty sure that's always 
what the compiler does.


More information about the Digitalmars-d-learn mailing list