lazarus/components/codetools/examples/tgeneric2.pp
mattias 9ff3525add extended class completion for generic classes
git-svn-id: trunk@8369 -
2005-12-26 10:06:39 +00:00

30 lines
433 B
ObjectPascal

program TGeneric2;
{$mode objfpc}
type
TList =generic(T) class(TObject)
data : T;
procedure Add(item: T);
end;
procedure TList.Add(item: T);
var
i : integer;
begin
{ The next line should fail for TList(string) }
i:=item;
data:=item;
end;
type
TMyStringList = specialize TList(string);
var
slist : TMyStringList;
begin
slist := TMyStringList.Create;
slist.Add('Test');
writeln(slist.data);
end.