www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 7658] New: [CTFE] assignment to reference in foreach fails without error message

reply d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=7658

           Summary: [CTFE] assignment to reference in foreach fails
                    without error message
           Product: D
           Version: D2
          Platform: All
        OS/Version: All
            Status: NEW
          Keywords: CTFE
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: nobody puremagic.com
        ReportedBy: aneas gmx.net



string foo() {
    string[] children = ["0"];
    foreach(ref child; children)
        child = "1";
    return children[0];
}

void main() {
    static assert(foo() == "0");
    assert(foo() == "1");
}

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Mar 07 2012
next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=7658


SHOO <zan77137 nifty.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |zan77137 nifty.com



*** Issue 8773 has been marked as a duplicate of this issue. ***

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Oct 08 2012
prev sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=7658


yebblies <yebblies gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |yebblies gmail.com
         Resolution|                            |FIXED



Commit pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/b52dca5a53def60352dbcbf4f398c10abb2cb6b1
Fix issue 8498 modifying foreach range iterator fails in CTFE

This was caused by ignoring assignment to ref variables.
(These guys can only be created by the inliner, or by lowering,
such as happens in foreach).

Also fixes bug 7658: assignment to ref in foreach.
Also fixes bug 8539: nested functions, ref parameter, -inline.

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