1{ %fail }
2
3{$mode objfpc}
4
5type
6   generic TList<_T>=class(TObject)
7     data : _T;
8     procedure Add(item: _T);
9   end;
10
11procedure TList.Add(item: _T);
12var
13  i : integer;
14begin
15  { The next line should fail for TList(string) }
16  i:=item;
17  data:=item;
18end;
19
20type
21  TMyStringList = specialize TList<string>;
22
23var
24  slist : TMyStringList;
25begin
26  slist := TMyStringList.Create;
27  slist.Add('Test');
28  writeln(slist.data);
29end.
30