reference to generic procedure produces Internal error 201202041

Summary

When declaring a generic record or class with a reference to procedure type compiler reports Internal error 201202041.

System Information

  • Operating system: Windows 10
  • Processor architecture: x86-64
  • Compiler version: trunk
  • Device: Computer

Steps to reproduce

Compile the example project

Example Project

program reftogenrpoc;
{$mode delphi}
{$modeswitch functionreferences}
{$modeswitch anonymousfunctions}
type
  TGR1<T> = record
  public type
    TGRUpdateProc = reference to procedure (var ARec: TGR1<T>);
  public
    Val: T;
  end;
var gr1: TGR1<integer>;
begin
end.

What is the current bug behavior?

reftogenrpoc.lpr(14,4) Error: Internal error 201202041

What is the expected (correct) behavior?

Successful compile

Edited by Dean Mustakinov