BofA
BofA

Reputation: 833

Strange bug with anonymous methods in 'initialization' section

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.

Upvotes: 7

Views: 251

Answers (1)

RRUZ
RRUZ

Reputation: 136431

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

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

Upvotes: 8

Related Questions