library ieee;
use ieee.std_logic_1164.all;

package test_pkg is

  type record_t is record
    data : std_ulogic_vector;
  end record;

  procedure test_procedure(
    variable rec : out record_t);

  function test_function
    return record_t;

  function get_data
    return std_ulogic_vector;

end package;

package body test_pkg is

  procedure test_procedure(
    variable rec : out record_t)
  is
  begin
    rec := test_function;
  end procedure;

  function test_function
    return record_t
  is
  begin
    return (data => get_data);
  end function;

  function get_data
    return std_ulogic_vector
  is
  begin
    return x"0F";
  end function;

end package body;