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.
There is no technical reason why procedures at global scope could not be generic.
If the designers wanted to implement this, then it could be done.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With