www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 272] New: foreach inside anonymous function crashes dmd.exe

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

           Summary: foreach inside anonymous function crashes dmd.exe
           Product: D
           Version: 0.163
          Platform: PC
        OS/Version: Windows
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: bugzilla digitalmars.com
        ReportedBy: reg4dyh inbox.lv


Using foreach in anonymous function body crases dmd.exe due some assertion
failure.
-------------------------------------------------------
import std.stdio;
alias void function(char[][char[]]) FN;
int main(char[][] args)
{
        FN fn = function(char[][char[]] aarray)
        {
                foreach (char[] s; aarray){}; // <- here
        };
        char[][char[]] aarray;
        aarray["a"] = "b";
        fn(aarray);
        return 0;
}


-- 
Jul 29 2006
next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=272


bugzilla digitalmars.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED




------- Comment #1 from bugzilla digitalmars.com  2006-08-11 19:17 -------
Fixed DMD 0.164


-- 
Aug 11 2006
prev sibling parent Thomas Kuehne <thomas-dloop kuehne.cn> writes:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

d-bugmail puremagic.com schrieb am 2006-07-30:
 http://d.puremagic.com/issues/show_bug.cgi?id=272

 Using foreach in anonymous function body crases dmd.exe due some assertion
 failure.
 -------------------------------------------------------
 import std.stdio;
 alias void function(char[][char[]]) FN;
 int main(char[][] args)
 {
         FN fn = function(char[][char[]] aarray)
         {
                 foreach (char[] s; aarray){}; // <- here
         };
         char[][char[]] aarray;
         aarray["a"] = "b";
         fn(aarray);
         return 0;
 }

Added to DStress as http://dstress.kuehne.cn/run/f/foreach_36_A.d http://dstress.kuehne.cn/run/f/foreach_36_B.d http://dstress.kuehne.cn/run/f/foreach_36_C.d http://dstress.kuehne.cn/run/f/foreach_36_D.d Thomas -----BEGIN PGP SIGNATURE----- iD8DBQFE4GNzLK5blCcjpWoRAoFpAJ0TuRKLUwXmSRiMEvGk6sUSyMJNjQCeKf7j NGVE1DrMCrebjNCtkLtXomM= =KEbt -----END PGP SIGNATURE-----
Aug 14 2006