On 1 November 2014 11:56, ketmar via Digitalmars-d <[email protected]> wrote: > On Sat, 01 Nov 2014 11:31:51 +0000 > anonymous via Digitalmars-d <[email protected]> wrote: > >> I don't know how D defines this, and I couldn't find anything but >> a forum discussion [1] (which I didn't read all of). But unless >> it's explicitly stated that the right-hand side is evaluated >> first, there is no bug. > there is. compiler generates code that modifies random memory > addresses. this is absolutely unacceptable. and this is just illogical > if we want dynamic arrays to look and work like "normal" arrays. > besides, it's easily fixable without any changes in evaluation order.
I'm not *entire* sure on that. :) If the evaluation of LHS[IDX] has a side effect, you've broken LTR. Think: Left => Index => Right vs Index => Right => Left
