Why is it that using generic types in a global procedure is not permitted. For example:
procedure Foo<T>(bar : T);
Compiler Error: E2530 Type parameters not allowed on global procedure or function
Yet it is acceptable as a class method
TFoo = class(TObject)
public
class procedure Foo<T>(bar : T);
end;
That's obviously my workaround, but I am interested in whether there an actual technical reason for the restriction.