blob: 556a0b73c92ea479f95b91eb867f0dea4e9750e9 [file] [log] [blame]
-- { dg-do compile }
procedure Interface6 is
type TI is interface;
type TI2 is interface;
type Rec_Type is tagged null record;
type Rec_Type1 is new TI
with
record
A : Integer;
end record;
type Rec_Type2 is new Rec_Type1 and TI2
with
record
B : Integer;
end record;
type Rec_Type12 is new Rec_Type1 and TI and TI2
with
record
C : Integer;
end record;
generic
type T is new Rec_Type1 and TI2 with private;
procedure Test;
procedure Test is
begin
null;
end Test;
procedure Test_Instance1 is new Test (T => Rec_Type); -- { dg-error "actual must implement all interfaces of formal \"T\"" }
procedure Test_Instance1 is new Test (T => Rec_Type1); -- { dg-error "actual \"Rec_Type1\" must implement interface \"TI2\"" }
procedure Test_Instance2 is new Test (T => Rec_Type2);
procedure Test_Instance12 is new Test (T => Rec_Type12);
begin
null;
end Interface6;