Version: 4.2.2 (using KDE 4.6.5) OS: Linux Apparently, in template definition, typename does not have to be followed by an identifier. The following construct is legal c++: template < typename = int > In reality it is mostly useful to do the following template < typename = std::enable_if< SomeTest >::type > void foo() { } And depending on the result of SomeTest the function is generated or not. Well anyway, if you input the above function (or similar) in kdevelop, kdevelop underlight in red the "=" (and the template keyword too). While it should not. Reproducible: Always Steps to Reproduce: To reproduce, in a cpp file, paste the following: #include <utility> template < typename = std::enable_if< false >::type > void foo() { } int main(int argc, char** argv) { foo(); } Actual Results: the equal in "typename =", the template keyword and the last ">" are wrongly underlight in red. Expected Results: Nothing is underlighted.
Works for me in KDevelop 5, using the Clang backend.