Что там понадобавляли для совместимости с дельфями - это любой ид... желающий может посмотреть на офсайте. Расскажу о том, о чем было скромно забыто :)
Плюс - починили специализацию дженериков. Теперь код вида
{$mode objfpc}
{$apptype console}
type
generic T1<A> = class
public
x: A;
end;
generic T2<A, B> = class
type public
T1Alias = specialize T1<A>;
var public
x: T1Alias;
y: B;
end;
type
T3 = specialize T2<integer, integer>;
var
x: T3;
begin
x := T3.Create;
end.
А раньше не работал.
МИНУС - сломали нахрен перегрузку методов :) И такой код теперь не работает:
{$mode objfpc}
{$H+}
unit WXCore;
interface
type
generic WXList<A> = class
public
constructor Create; overload;
constructor Create(src: specialize WXList<A>); overload;
constructor Create(src: array of A); overload;
end;
implementation
constructor WXList.Create; overload;
begin
end;
constructor WXList.Create(src: specialize WXList<A>); overload;
begin
end;
constructor WXList.Create(src: array of A); overload;
begin
end;
end.