On 03.10.20 13:18, tspike wrote:
I came across an issue recently that I’m a little confused by. The following program fails to compile under LDC and DMD, though it compiles fine under GDC:

     @nogc:

     void main()
     {
         static foreach(i; 0 .. 4)
         {
             pragma(msg, i);
         }
     }

Both DMD and LDC report the following error if I try to compile it:

    test.d(7): Error: cannot use operator ~= in @nogc delegate test.main.__lambda1

I was just wondering, is this is a compiler bug or is there a reason I'm overlooking preventing this sort of code from compiling?

It's a compiler bug, the same as this one:

@nogc:
void main(){
    static immutable x = { int[] a; a~=1; return a; }();
}

Reply via email to