"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. 


Reply via email to