<div dir="ltr"><div class="gmail_signature"><div class="gmail_signature">Hello!</div><div class="gmail_signature"><br></div><div class="gmail_signature">Currently some modernize-* checks in clang-tidy are applied regardless of the C++ standard used (some of them having comments like "Because this checker is used for modernization, it is reasonable to run it on any C++ standard with the assumption the user is trying to modernize their codebase"). To name some:</div><div class="gmail_signature"><br></div><div class="gmail_signature">- LoopConvertCheck</div><div class="gmail_signature">- PassByValueCheck</div><div class="gmail_signature">- ReplaceAutoPtrCheck</div><div class="gmail_signature">- UseAutoCheck</div><div class="gmail_signature">- UseEmplaceCheck</div><div class="gmail_signature">- UseEqualsDefaultCheck</div><div class="gmail_signature">- UseEqualsDeleteCheck</div><div class="gmail_signature">- UseNullptrCheck</div><div class="gmail_signature"><br></div><div class="gmail_signature">Others are applied only when the current C++ standard is high enough, namely:</div><div class="gmail_signature"><br></div><div class="gmail_signature">- RawStringLiteralCheck</div><div class="gmail_signature">- ReplaceRandomShuffleCheck</div><div class="gmail_signature">- ReturnBracedInitListCheck</div><div class="gmail_signature">- ShrinkToFitCheck</div><div class="gmail_signature">- UseDefaultMemberInitCheck</div><div class="gmail_signature">- UseNoexceptCheck</div><div class="gmail_signature">- UseOverrideCheck</div><div class="gmail_signature">- UseTransparentFunctorsCheck</div><div class="gmail_signature">- UseUsingCheck</div><div class="gmail_signature"><div class="gmail_signature">- Make{Shared/Unique}Check</div><div><br></div></div><div class="gmail_signature">The first approach is causing troubles when with our clang-tidy integration in CLion, since diagnostics are emitted on a perfectly valid C++03 code, and applying FixIts breaks compilation. We could deal with it on our side, blacklisting specific checks (or "modernize-*" altogether) with older standards; however, we'd like to avoid knowing about specific checks on our side when possible. Additionally,</div><div class="gmail_signature"><br></div><div class="gmail_signature">- The situation is obviously inconsistent between different checks</div><div class="gmail_signature">- I don't see much sense for the user to try "to modernize their codebase" when the user can't do anything with the results anyway</div><div class="gmail_signature"><br></div><div class="gmail_signature">I'd like to go through the first group and require the C++11 standard for them, what do you think?</div><div class="gmail_signature"><br></div><div class="gmail_signature">--</div><div class="gmail_signature">Best regards,</div><div class="gmail_signature">Dmitry Kozhevnikov.</div></div>
</div>