Am I missing something, or is it not permitted to use values from a WITH clause in a TABLE function in the following SELECT statement?

WITH param_values as (
select 2017 as current_year from dual
)
SELECT * FROM TABLE(my_pipelined_table_function(param_values.current_year));

Produces:

ORA-00904: "param_values"."current_year": invalid identifier

Of course, "my_pipelined_table_function" takes a single numeric value as a parameter.

The reason why I want to use the WITH clause is because the SELECT statement containing the TABLE function is actually much more complicated, but everything else works fine except the TABLE function clause.

I can't seem to find any documentation explaining the reason why Oracle may be throwing this error in this case.