Hello
I am not sure, it's probably bug.
postgres=# create function t1(smallint) returns smallint as $$select
$1$$ language sql;
CREATE FUNCTION
postgres=# create function t2(bigint) returns bigint as $$select $1$$
language sql;
CREATE FUNCTION
postgres=# select t1(10);
ERROR: function t1(integer) does not exist
LINE 1: select t1(10);
^
HINT: No function matches the given name and argument types. You
might need to add explicit type casts.
but
postgres=# select t2(10);
t2
----
10
(1 row)
Regards
Pavel Stehule