https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118944
Patrick Palka <ppalka at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Known to work| |8.5.0 Ever confirmed|0 |1 CC| |ppalka at gcc dot gnu.org Status|UNCONFIRMED |NEW Summary|deduced conflicting types |[12/13/14/15 Regression] |for explicitly specified |deduced conflicting types |(non-deduced) template |for explicitly specified |parameter in explicit |(non-deduced) template |object member function of |parameter in static member |struct template |function (and explicit | |member function) of struct | |template Target Milestone|--- |12.5 Last reconfirmed| |2025-02-24 --- Comment #1 from Patrick Palka <ppalka at gcc dot gnu.org> --- Confirmed. This bug also affects ordinary static member functions: template<typename> struct S { template <typename T, typename U> static void f(T, U) {} void g() { f<char>(0, 0); } // bogus "deduced conflicting types for parameter T (char and int)" }; which is a regression starting with r9-3807-g5d9a0e3b99e31a "Implement P0846R0, ADL and function templates" although I think that just exposed a latent bug elsewhere.