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