(root)/
gcc-13.2.0/
gcc/
testsuite/
gnat.dg/
generic_inst10.adb
--  { dg-do compile }

with Generic_Inst10_Pkg; use Generic_Inst10_Pkg;

procedure Generic_Inst10 is

   function Image (S : XString) return String is (S.To_String);

   generic
      type Left_Type (<>) is private;
      type Right_Type (<>) is private;
      with function Image (L : Left_Type) return String is <>;
      with function Image (L : Right_Type) return String is <>;
   procedure G (Left : Left_Type; Right : Right_Type);

   procedure G (Left : Left_Type; Right : Right_Type) is
      A : String := Image (Left) & Image (Right);
   begin
      null;
   end;

   procedure My_G is new G (XString, XString);

begin
   null;
end;