minimal evaluation

Qian Xu quian.xu at stud.tu-ilmenau.de
Mon Apr 6 04:30:45 PDT 2009


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



More information about the Digitalmars-d mailing list