Что означает "не в курсе"? Если не компилирует, то какую ошибку выдаёт?
FPC это компилировать умеет:
Код: Выделить всё
program delphi_generic;
{$MODE DELPHI}
{$MODESWITCH ADVANCEDRECORDS}
type
TArray<MyType> = record
end;
TRiAnySimpleArray<MyType> = record
public
FCount: integer;
FItems: tarray<mytype>;
procedure SetCount(newcount: integer); inline;
function GetItem(Index: integer): MyType; inline;
procedure SetItem(Index: integer; Value: mytype); inline;
property rroItem[index: integer]: MyType read getItem write setItem; default;
property Count: integer read FCount write SetCount;
end;
procedure TRiAnySimpleArray<MyType>.SetCount(newcount: integer); inline;
begin
end;
function TRiAnySimpleArray<MyType>.GetItem(Index: integer): MyType; inline;
begin
Exit(Default(MyType));
end;
procedure TRiAnySimpleArray<MyType>.SetItem(Index: integer; Value: mytype); inline;
begin
end;
begin
end.
Код: Выделить всё
D:\data\temp>fpc delphi_generic.pas
Free Pascal Compiler version 3.2.1 [2021/02/01] for i386
Copyright (c) 1993-2020 by Florian Klaempfl and others
Target OS: Win32 for i386
Compiling delphi_generic.pas
delphi_generic.pas(7,8) Note: Private type "<record type>.MyType" never used
Linking delphi_generic.exe
35 lines compiled, 0.1 sec, 28192 bytes code, 1316 bytes data
1 note(s) issued