mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-07 17:47:56 +02:00

ptype.pas, id_type: * don't generate an error if the undefineddef typesym is an explicit rename that belongs to a generic + added test git-svn-id: trunk@29485 -
51 lines
856 B
ObjectPascal
51 lines
856 B
ObjectPascal
{ %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.
|