"Jonathan M Davis" <[email protected]> wrote in message news:[email protected]... > Ideally perhaps, but I expect that that's not true, because operator > overloading is done via lowering. > > foo() ~ bar() > > would become > > opBinary!"~"(foo(), bar()); >
While your point is still correct, this will generally be lowered to foo().opBinary!"~"(bar()) or bar().opBinaryRight!"~"(foo()) Both of which do have a defined order of evaluation.
