Thread overview
[Issue 272] New: foreach inside anonymous function crashes dmd.exe
Jul 30, 2006
d-bugmail
Aug 12, 2006
d-bugmail
Aug 14, 2006
Thomas Kuehne
July 30, 2006
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;
}


-- 

August 12, 2006
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


-- 

August 14, 2006
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