全局范围程序不能通用?此限制是否有技术原因?

Global scope procedures cannot be generic? Is there a technical reason for this restriction?

为什么不允许在全局过程中使用通用类型。例如:

  procedure Foo<T>(bar : T);

编译器错误:E2530 全局过程或函数不允许类型参数

但是作为class方法是可以接受的

TFoo = class(TObject)
public
  class procedure Foo<T>(bar : T);
end;

这显然是我的解决方法,但我想知道限制是否有实际的技术原因。

全球范围内的过程不能通用没有技术原因。

如果设计者想实现这个,那么就可以做到。