Hello dear C and C++ users.
We are happy to come to you with a load of new features and improvements.
We added a bunch of new rules mostly focusing on C++20.
S6195[C++20]: “std::enable_if” should not be used
S6226[C++20]: Empty class members should be marked as “[[no_unique_address]]”
S6225 [C++20]: “std::to_address” should be used to convert contiguous iterators to raw pointers
S6229 [C++20]: “std::chrono” components should be used to operate on time
S6230 [C++20]: Comparison operators ("<=>", “==”) should be defaulted unless non-default behavior is required
S6236 [C++11]: Rvalue reference members should not be copied accidentally
S6200 [C,C++]: Detect ‘volatile’ used in structured bindings, return types and function parameters
As always, we also polished a few preexisting rules to lower their noise level and maximize their relevance. All the details are available in the release notes.