https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100640
Bug ID: 100640 Summary: GCC permits explicit instantiation of a constructor template with an explicit template argument list Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: richard-gccbugzilla at metafoo dot co.uk Target Milestone: --- Example: struct A { template<typename T> A() {} }; template A::A<int>(); GCC accepts this without even a warning under -std=c++20 -pedantic-errors, but this is not valid C++. If this is an intentional extension, it doesn't appear to be documented (and presumably should be rejected under -pedantic-errors).