泛型类型的限制

Sir*_*ufo 5 delphi generics

具有泛型类型的此声明将不会编译

type
  TFoo<T> = record
    Value : T;
  end;

  TFooo = TFoo<TFoo<Int64>>; // this is fine
  TFoooooInt64 = TFoo<TFoo<TFoo<Int64>>>; // E2564
Run Code Online (Sandbox Code Playgroud)

因为

E2564未定义类型' TFoo<T>'

错误E2564被记录

尝试使用自身对通用类型定义类型约束时,会发生这种情况。

program E2564;

{$APPTYPE CONSOLE}
type
  TRec<T: record> = record
    A: T;
  end;

  TClass = record
    V: TRec<TClass>; //E2564
  end;

begin
end.
Run Code Online (Sandbox Code Playgroud)

但这不是这里的情况。

这是一个错误还是记录了此限制?