[Issue 4057] New: [CTFE] inplace array change

d-bugmail at puremagic.com d-bugmail at puremagic.com
Sat Apr 3 07:59:20 PDT 2010


http://d.puremagic.com/issues/show_bug.cgi?id=4057

           Summary: [CTFE] inplace array change
           Product: D
           Version: future
          Platform: x86
        OS/Version: Windows
            Status: NEW
          Severity: major
          Priority: P2
         Component: DMD
        AssignedTo: nobody at puremagic.com
        ReportedBy: bearophile_hugs at eml.cc


--- Comment #0 from bearophile_hugs at eml.cc 2010-04-03 07:59:17 PDT ---
This D2 code asserts with dmd 2.042:


void foo(int[] ra) {
    ra[0] = 20;
}
int[] bar() {
    int[] data = [10];
    foo(data);
    return data;
}
void main() {
    int[] r1 = bar();
    assert(r1[0] == 20);
    enum int[] r2 = bar();
    assert(r2[0] == 20); // Assertion failure
}


This is quite important, because it introduces silent bugs.
It can be related to bug 1330.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list