Illegal expression + generic + with

FPC [main] x64 Win


program app;
{$mode delphi}
type
  TTestObject = class
    procedure Foo<T: class>;
  end;

procedure TTestObject.Foo<T>;
begin
end;

begin
  with TTestObject.Create do
    Foo<TTestObject>; // <-- Error: Illegal expression

end.