entity repro5 is end; architecture behav of repro5 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; d2 : bit_vector; end record; procedure assign (signal s : out mrec; v : mrec) is begin s <= v; end assign; signal s : mrec (data(0 to 3), d2(0 to 7)); begin process variable a : mrec (data(1 to 4), d2 (1 to 8)); begin assign (s, a); wait; end process; end behav;