On 1 November 2014 11:31, anonymous via Digitalmars-d
<[email protected]> wrote:
> On Saturday, 1 November 2014 at 09:03:42 UTC, ketmar via
> Digitalmars-d wrote:
>>
>> as i can guess, the bug is in evaluating left part of '=' operation
>> before the right part.
>
>
> 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.
>
> A simpler test case:
>

Breakdown.

>      auto list = new size_t[1];

list = addressA;

>      list[0] = (){list = new size_t[1]; return 666;}();

list = addressB;
addressA[0] = 666;

>      assert(list[0] == 666);

assert(addressB[0] == 666)

Reply via email to