entity repro6 is
end repro6;

architecture behav of repro6 is
  type bv_array is array(natural range <>) of bit_vector;
  type bv_array_ptr is access bv_array;
begin
  process
    variable count : natural := 0;
    impure function seven return natural is
    begin
      report "seven";
      count := count + 1;
      return 7;
    end seven;

    subtype array8 is bv_array(seven downto 0);

    subtype array8_1 is array8(open)(0 to 3);
  begin
    assert count = 1 severity failure;
    wait;
  end process;
end behav;