-- { dg-do run } procedure interface3 is -- package Pkg is type Foo is interface; subtype Element_Type is Foo'Class; -- type Element_Access is access Element_Type; type Elements_Type is array (1 .. 1) of Element_Access; type Elements_Access is access Elements_Type; -- type Vector is tagged record Elements : Elements_Access; end record; -- procedure Test (Obj : Vector); end; -- package body Pkg is procedure Test (Obj : Vector) is Elements : Elements_Access := new Elements_Type; -- begin Elements (1) := new Element_Type'(Obj.Elements (1).all); end; end; -- begin null; end;