diff --git a/.gitattributes b/.gitattributes index 64e854034d..5057b8de9c 100644 --- a/.gitattributes +++ b/.gitattributes @@ -7547,6 +7547,7 @@ tests/test/tgeneric13.pp svneol=native#text/plain tests/test/tgeneric14.pp svneol=native#text/plain tests/test/tgeneric15.pp svneol=native#text/plain tests/test/tgeneric16.pp svneol=native#text/plain +tests/test/tgeneric17.pp svneol=native#text/plain tests/test/tgeneric2.pp svneol=native#text/plain tests/test/tgeneric3.pp svneol=native#text/plain tests/test/tgeneric4.pp svneol=native#text/plain diff --git a/tests/test/tgeneric17.pp b/tests/test/tgeneric17.pp new file mode 100644 index 0000000000..b8c5c307e7 --- /dev/null +++ b/tests/test/tgeneric17.pp @@ -0,0 +1,26 @@ +{$mode objfpc}{$H+} + +type + generic TGListItem = class(TObject) + public + FNext: TGListItem; + procedure Assign(Source: TGListItem); + end; + +procedure TGListItem.Assign(Source: TGListItem) +begin + FNext := Source; +end; + +type + TIntListItem = specialize TGListItem; + +var + A, B: TIntListItem; +begin + A := TIntListItem.Create; + B := TIntListItem.Create; + A.Assign(B); + if A.FNext <> B then + halt(1); +end.