1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
{ %NORUN }
program tgeneric99;
{$mode objfpc}
uses
ugeneric99;
type
TTest1 = specialize TTest<LongInt>;
TTest2 = ugeneric99.specialize TTest<LongInt>;
TTest3 = TTestClass.specialize TTest<LongInt>;
TTest4 = ugeneric99.TTestClass.specialize TTest<LongInt>;
TTest5 = TTestRec.specialize TTest<LongInt>;
TTest6 = ugeneric99.TTestRec.specialize TTest<LongInt>;
var
test1: specialize TTestArray<LongInt>;
test2: ugeneric99.specialize TTestArray<LongInt>;
test3: ugeneric99.TTestClass.specialize TTestArray<LongInt>;
test4: ugeneric99.TTestRec.specialize TTestArray<LongInt>;
test5: ugeneric99.TTestClass.specialize TTest<LongInt>.TTestRec;
test6: ugeneric99.TTestRec.specialize TTest<LongInt>.TTestClass;
procedure Proc1(aArg: specialize TTestArray<LongInt>);
begin
end;
procedure Proc2(aArg: ugeneric99.specialize TTestArray<LongInt>);
begin
end;
procedure Proc3(aArg: ugeneric99.TTestClass.specialize TTestArray<LongInt>);
begin
end;
procedure Proc4(aArg: ugeneric99.TTestRec.specialize TTestArray<LongInt>);
begin
end;
procedure Proc5(aArg: ugeneric99.TTestClass.specialize TTest<LongInt>.TTestRec);
begin
end;
procedure Proc6(aArg: ugeneric99.TTestRec.specialize TTest<LongInt>.TTestClass);
begin
end;
begin
end.
|