Early Access Program

CLion 1.5 EAP: build with variadic templates support

Hi,

Today we have an experimental CLion 1.5 EAP build for you to try. In the roadmap for version 1.5 we’ve promised to work on support for variadic templates. We’ve spent awhile working on it, and now this build (144.3891) does provide support for variadic templates, as well as fixes for many related issues.

Before we go into details, let’s explain why we call the build experimental. This means we can’t guarantee now that all the provided changes and fixes will make their way to the final CLion 1.5 release. We’d like to be sure that the quality of the support and the performance is sufficient. If not, we’ll keep on working on this and deliver the fixes as soon as they are ready.

As we’ve said above, this build provides support for variadic templates, especially fixing many problems in overload resolution. That means the code should be resolved correctly and code analysis doesn’t show ‘false positives’ on such code constructs, like for example ‘Function recurses infinitely’ for the variadics with termination call:
variadic_termination

Qt users will find a significant progress in resolve, since Qt C++11 connect calls are now resolved correctly as a result of the variadic templates support:
qt_connect

Find the list of issues fixed by the variadic templates support in our tracker.

We encourage you to try the build (a patch update will also be available soon), especially in case you are working on a project with vast usage of variadic templates. Please report any issues with parsing/resolve to our tracker, as well as take note of the IDE performance. If you feel it’s gotten worse (compared to the previous EAP build, for example), then please share snapshots and logs with us.

Some other fixes this build also delivers:

  • We continue our work on debugger, and now when debugger reports an error during the evaluation or variable collection, it is reported in UI. This could improve stepping performance and possibly reduce the number of ‘timed out’ errors.
  • ‘Include parent environment’ option in Run Configurations is now ‘on’ by default (CPP-5453).

Full release notes are available by the link.

And on the new Preview Next Version page on site you can find the details about all the new features currently making their way to CLion v1.5.

The CLion Team
JetBrains
The Drive to Develop

image description

Discover more