Steven Schveighoffer wrote: > On Wed, 27 Apr 2011 16:22:45 -0400, Jens Mueller > <jens.k.muel...@gmx.de> wrote: > > >Hi, > > > >on page 50 TDPL states > >"All arguments are evaluated left to right before fun gets invoked." > >That means > >int i; > >writeln(++i, ++i); > >is supposed to print > >"12". > >and is valid. > >But on http://www.digitalmars.com/d/2.0/expression.html > >func(++i, ++i); > >is defined as an error. > >Is the evaluation order for function calls undefined or it is left to > >right? > > Both :) > > The answer is, the current spec says it is an error. However, TDPL > is usually considered to be what the spec *will* be when D2 is > completed. So expect the left to right evaluation in the future. > It's likely that the compiler doesn't currently conform to TDPL.
I see. I never seen it like this. So all documentation on http://www.digitalmars.com/d/2.0/ specifies how it is right now but not what it will be. And by 'usually' you mean that TDPL can be in error. So I should rely on TDPL exclusively. Even though I find the online documentation easier to search. Jens