-- { dg-do run }
procedure Array31 is
type Boolean_Access is access Boolean;
type Boolean_Access_Array is
array (Positive range <>) of not null Boolean_Access;
X : constant Boolean_Access_Array := (1 => new Boolean'(False));
Y : constant Boolean_Access_Array := X & X;
begin
null;
end;