...and I have another one, this is gcc bug finding day. it's again related to partial template function specializations, but I open a new report because this time it is rejects-valid: (at least I think so) template<typename AT> struct A{ template<typename T> void function(){} }; template<> template<typename TTT> void A<int>::function<TTT>(){} error: partial specialization `function<TTT>' of function template that's right, but why is this an error? if function has a parameter of type T, so you can specialize it without explicitly giving a template parameter, it works. (...::function(TTT){}) Comeau accepts both.
*** This bug has been marked as a duplicate of 14494 ***