Bug or limitation?

Bug or limitation?

type
  TFoo=class
  public
    class procedure Bar(const Data:Array of Const); static;
    class procedure NotGen(const Data:Array of Integer); static;
    class procedure Gen(const Data:Array of T); static;
  end;

{ TFoo }

class procedure TFoo.Bar(const Data: array of Const);
begin
end;

class procedure TFoo.NotGen(const Data:Array of Integer);
begin
  Bar([Data[0]]); // Ok !
end;

class procedure TFoo.Gen(const Data: array of T);
begin
  Bar([Data[0]]); // <-- E2150 Bad argument type in variable type array constructor
end;

Comments