--  { dg-do compile }
with Ada.Finalization; use Ada;
package ai_116 is
   pragma Preelaborate;
   type Buffer_Type is limited interface;
   type Handle is new Finalization.Limited_Controlled and Buffer_Type with
     private;
   pragma Preelaborable_Initialization(Handle);
   type Ptr is access all String;
   Null_Handle : constant Handle;
private
   type Handle is new Finalization.Limited_Controlled and Buffer_Type with
      record
         Data     : Ptr  := null;
      end record;
   Null_Handle : constant Handle :=
     (Finalization.Limited_Controlled with Data => null);
end ai_116;