Given: void f(void) { template<typename T> class A { }; } g++ 4.0/3.4 gives: bug.cpp:4: error: expected primary-expression before 'template' Can a language lawer please confirm that this is even valid before I create a PR?