Strange bug with anonymous methods in 'initialization' section

257 Views Asked by At

This unit fails to compile in XE2 Update 3 with error "Internal Error: SY6315". In XE there is no such problem.

unit Test;

interface

uses
  SysUtils;

var
  Proc: TProc;

implementation

initialization
   Proc := procedure
    var ByteArr: array of Byte;
    begin
      SetLength(ByteArr, 10);
    end;

end.

Does anyone have any experience of this problem?

Update: I have submitted a QC report: QC#102888.

1

There are 1 best solutions below

2
On BEST ANSWER

Looks like a compiler bug, this is a workaround using TBytes

   Proc := procedure
    var
     ByteArr: TBytes;
    begin
      SetLength(ByteArr, 10);
    end;