https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83417
--- Comment #4 from David Friberg <davveston at gmail dot com> --- The example of my previous comment may fall under (the original intent of?) CWG 1892. If so it ill-formed, as 'auto (*fp)(T)' is not a function declaration in the template parameter list. http://open-std.org/JTC1/SC22/WG21/docs/cwg_defects.html#1892 Although afaict a pointer to function declarator is not a function declarator, meaning [dcl.spec.auto]/2 may not apply here. https://timsong-cpp.github.io/cppwp/n4861/dcl.spec.auto#2