https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114974
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2024-05-07 Ever confirmed|0 |1 --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Confirmed. Slightly reduced: ``` template<typename T1> struct A1 { template<typename T2> struct A2 { T2 t; }; }; void s(double k) { A1<int>::A2 a(2); } ``` It looks like the deduction guide is not being generated correctly when the inner template class is of a templated class. If A1 was not a template, GCC acecpts the code just fine. that is: ``` struct A1 { template<typename T2> struct A2 { T2 t; }; }; void s(double k) { A1::A2 a(2); } ``` Works just fine.