https://issues.dlang.org/show_bug.cgi?id=10124

--- Comment #4 from yebblies <[email protected]> ---
Overflow looks the same:

void main()
{
    int[] arr = [1,2,3,4];
    arr.length += uint.max;
}

It's currently being rewritten to 'length = (length op arg)'.  I'm not sure how
to detect this easily without adding inline code, or an overload for each
operation.

I mean, for this:
    arr.length += -3;

the compiler sees this:
    arr.length = arr.length + 4294967293u;

--

Reply via email to