1entity issue341 is 2end entity; 3 4architecture test of issue341 is 5begin 6 7 process is 8 function func(b : bit) return boolean is 9 begin 10 return b = '1'; 11 end function; 12 13 function func(b : character) return boolean is 14 begin 15 return b = '1'; 16 end function; 17 18 alias func_bit is func [bit return boolean]; 19 alias func_char is func [character return boolean]; 20 begin 21 assert func_bit('1'); -- OK 22 assert func_char('1'); -- OK 23 assert func_bit('y'); -- Error 24 wait; 25 end process; 26 27 no_parameter : process 28 function func return boolean is 29 begin 30 return false; 31 end; 32 33 alias func_alias is func[return boolean]; 34 variable value : boolean := func_alias; 35 begin 36 if func_alias then 37 assert false; 38 end if; 39 40 while func_alias loop 41 assert false; 42 end loop; 43 wait; 44 end process; 45 46 with_parameter : process 47 function func(value : boolean) return boolean is 48 begin 49 return value; 50 end; 51 52 alias func_alias is func[boolean return boolean]; 53 variable value : boolean := func_alias(false); 54 begin 55 if func_alias(false) then 56 assert false; 57 end if; 58 59 while func_alias(false) loop 60 assert false; 61 end loop; 62 wait; 63 end process; 64 65end architecture; 66