https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63809
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Reduced testcase: template<typename T1, typename T2, int a> struct binary_traits{}; template <> template <typename T1, typename T2> struct binary_traits <T1, T2, 1> { typedef int result_type; }; ----- CUT ---- This is rejected since GCC 8 with: <source>:6:8: error: too many template-parameter-lists struct binary_traits <T1, T2, 1> ^~~~~~~~~~~~~~~~~~~~~~~~~ I suspect there is a dup now.