| Summary: | KDevelop does know the "template < typename = SomeType >" construct | ||
|---|---|---|---|
| Product: | [Applications] kdevelop | Reporter: | Cyrille Berger <cberger> |
| Component: | Language Support: CPP (old) | Assignee: | kdevelop-bugs-null |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | aleixpol |
| Priority: | NOR | ||
| Version First Reported In: | 4.2.2 | ||
| Target Milestone: | --- | ||
| Platform: | Debian testing | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | 5.0.0 | |
| Sentry Crash Report: | |||
Works for me in KDevelop 5, using the Clang backend. |
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.