diff options
Diffstat (limited to 'tests/test/tgeneric98.pp')
-rw-r--r-- | tests/test/tgeneric98.pp | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/tests/test/tgeneric98.pp b/tests/test/tgeneric98.pp new file mode 100644 index 0000000000..272ba9c1d5 --- /dev/null +++ b/tests/test/tgeneric98.pp @@ -0,0 +1,50 @@ +{ %NORUN } + +program tgeneric98; + +{$mode objfpc} + +type + generic TTest<T> = class + public type + TAlias = T; + private + fField: TAlias; + procedure SetField(aValue: TAlias); + public + property Field: TAlias read fField write SetField; + function CalcField: TAlias; + end; + + generic TTest2<T> = class + public type + TTestT = specialize TTest<T>; + private + fField: TTestT.TAlias; + procedure SetField(aValue: TTestT.TAlias); + public + property Field: TTestT.TAlias read fField write SetField; + function CalcField: TTestT.TAlias; + end; + +procedure TTest.SetField(aValue: TAlias); +begin +end; + +function TTest.CalcField: TAlias; +begin + Result := Default(TAlias); +end; + +procedure TTest2.SetField(aValue: TTestT.TAlias); +begin +end; + +function TTest2.CalcField: TTestT.TAlias; +begin + Result := Default(TTestT.TAlias); +end; + +begin + +end. |