More C++20 rules and fixes to a good bunch of false positives and false negatives

Hello dear C and C++ folks.

We are happy to bring you some more rules focusing mostly on C++20.

  • S6221 [C++20]: Concept names should comply with a naming convention
  • S6232 [C++20]: “std::bit_cast” should be used instead of union type-punning
  • S6231 [C++20]: “std::string_view” and “std::span” parameters should be directly constructed from sequences
  • S6352: The return value of std::move should be used as an argument to a function call

On top of that, we lowered the noise level on quite a few rules and we increased the detection capabilities of a few other rules.
We also took care that some some rules play nicer with C++20.
More details can be found in the release notes.

All this is already available on SonarCloud.io and will be available with SonarQube 9.1 starting from Developer Edition.

Geoffray

1 Like