entity repro3 is end; architecture behav of repro3 is type bv_array is array (natural range <>) of bit_vector; subtype byte_array is bv_array(open)(7 downto 0); type mrec is record b : boolean; data : byte_array; end record; signal s : mrec (data(0 to 3)); procedure assign (signal sig : out mrec) is variable a : mrec (data(1 to 4)); begin sig <= a; end assign; begin process begin assign (s); wait; end process; end behav;