The following valid testcase is rejected on mainline and 4.3 branch: ================================================= template<int> struct A { template<int> void foo(); };
template<> template<int> void A<0>::foo() {} ================================================= The regression was introduced between 2008-02-12 and 2008-02-15. Paolo, this is probably fallout from your patch PR c++/28743 * pt.c (determine_specialization): In case of function templates, when the type of DECL does not match FN there is no match. The problem is related to PR14494. -- Summary: [4.3/4.4 regression] Template specialization rejected Product: gcc Version: 4.4.0 Status: UNCONFIRMED Keywords: rejects-valid, monitored Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: reichelt at gcc dot gnu dot org OtherBugsDependingO 14494 nThis: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35282