From 1b76b7e6d97da4bbeabf79cf73fa5b8e71ad5fa7 Mon Sep 17 00:00:00 2001 From: Max SCHMELLER Date: Wed, 20 Nov 2024 17:09:15 +0900 Subject: [PATCH 1/5] chore(clang-tidy): remove bloated config options, enable all applicable checks Signed-off-by: Max SCHMELLER --- .clang-tidy | 448 ++-------------------------------------------------- 1 file changed, 13 insertions(+), 435 deletions(-) diff --git a/.clang-tidy b/.clang-tidy index 06c54854b..be321a24e 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -1,432 +1,22 @@ Checks: " - -*, - boost-use-to-string, - bugprone-argument-comment, - bugprone-assert-side-effect, - bugprone-bad-signal-to-kill-thread, - bugprone-bool-pointer-implicit-conversion, - bugprone-branch-clone, - bugprone-copy-constructor-init, - bugprone-dangling-handle, - bugprone-dynamic-static-initializers, - bugprone-exception-escape, - bugprone-fold-init-type, - bugprone-forward-declaration-namespace, - bugprone-forwarding-reference-overload, - bugprone-inaccurate-erase, - bugprone-incorrect-roundings, - bugprone-integer-division, - bugprone-lambda-function-name, - bugprone-macro-parentheses, - bugprone-macro-repeated-side-effects, - bugprone-misplaced-operator-in-strlen-in-alloc, - bugprone-misplaced-widening-cast, - bugprone-move-forwarding-reference, - bugprone-multiple-statement-macro, - bugprone-not-null-terminated-result, - bugprone-parent-virtual-call, - bugprone-posix-return, - bugprone-signed-char-misuse, - bugprone-sizeof-container, - bugprone-sizeof-expression, - bugprone-string-constructor, - bugprone-string-integer-assignment, - bugprone-string-literal-with-embedded-nul, - bugprone-suspicious-enum-usage, - bugprone-suspicious-memset-usage, - bugprone-suspicious-missing-comma, - bugprone-suspicious-semicolon, - bugprone-suspicious-string-compare, - bugprone-swapped-arguments, - bugprone-terminating-continue, - bugprone-throw-keyword-missing, - bugprone-too-small-loop-variable, - bugprone-unchecked-optional-access, - bugprone-undefined-memory-manipulation, - bugprone-undelegated-constructor, - bugprone-unhandled-self-assignment, - bugprone-unused-raii, - bugprone-unused-return-value, - bugprone-use-after-move, - bugprone-virtual-near-miss, - cppcoreguidelines-avoid-goto, - cppcoreguidelines-init-variables, - cppcoreguidelines-interfaces-global-init, - cppcoreguidelines-macro-usage, - cppcoreguidelines-narrowing-conversions, - cppcoreguidelines-no-malloc, - cppcoreguidelines-pro-bounds-pointer-arithmetic, - cppcoreguidelines-pro-type-const-cast, - cppcoreguidelines-pro-type-cstyle-cast, - cppcoreguidelines-pro-type-member-init, - cppcoreguidelines-pro-type-reinterpret-cast, - cppcoreguidelines-pro-type-static-cast-downcast, - cppcoreguidelines-pro-type-union-access, - cppcoreguidelines-slicing, - cppcoreguidelines-special-member-functions, - google-build-explicit-make-pair, - google-build-namespaces, - google-build-using-namespace, - google-explicit-constructor, - google-global-names-in-headers, - google-upgrade-googletest-case, - hicpp-exception-baseclass, - hicpp-multiway-paths-covered, - hicpp-no-assembler, - hicpp-signed-bitwise, - llvm-namespace-comment, - misc-definitions-in-headers, - misc-misplaced-const, - misc-new-delete-overloads, - misc-non-copyable-objects, - misc-redundant-expression, - misc-static-assert, - misc-throw-by-value-catch-by-reference, - misc-unconventional-assign-operator, - misc-uniqueptr-reset-release, - misc-unused-alias-decls, - misc-unused-parameters, - misc-unused-using-decls, - modernize-concat-nested-namespaces, - modernize-deprecated-headers, - modernize-deprecated-ios-base-aliases, - modernize-loop-convert, - modernize-make-shared, - modernize-make-unique, - modernize-pass-by-value, - modernize-raw-string-literal, - modernize-redundant-void-arg, - modernize-replace-auto-ptr, - modernize-replace-disallow-copy-and-assign-macro, - modernize-replace-random-shuffle, - modernize-return-braced-init-list, - modernize-shrink-to-fit, - modernize-unary-static-assert, - modernize-use-auto, - modernize-use-bool-literals, - modernize-use-default-member-init, - modernize-use-emplace, - modernize-use-equals-default, - modernize-use-equals-delete, - modernize-use-nodiscard, - modernize-use-noexcept, - modernize-use-nullptr, - modernize-use-override, - modernize-use-transparent-functors, - modernize-use-uncaught-exceptions, - modernize-use-using, - openmp-use-default-none, - performance-faster-string-find, - performance-for-range-copy, - performance-implicit-conversion-in-loop, - performance-inefficient-algorithm, - performance-inefficient-string-concatenation, - performance-inefficient-vector-operation, - performance-move-const-arg, - performance-move-constructor-init, - performance-no-automatic-move, - performance-no-int-to-ptr, - performance-noexcept-move-constructor, - performance-trivially-destructible, - performance-type-promotion-in-math-fn, - performance-unnecessary-copy-initialization, - performance-unnecessary-value-param, - portability-simd-intrinsics, - readability-const-return-type, - readability-container-size-empty, - readability-convert-member-functions-to-static, - readability-delete-null-pointer, - readability-else-after-return, - readability-function-cognitive-complexity, - readability-identifier-naming, - readability-inconsistent-declaration-parameter-name, - readability-isolate-declaration, - readability-make-member-function-const, - readability-misleading-indentation, - readability-misplaced-array-index, - readability-non-const-parameter, - readability-redundant-access-specifiers, - readability-redundant-control-flow, - readability-redundant-declaration, - readability-redundant-function-ptr-dereference, - readability-redundant-member-init, - readability-redundant-smartptr-get, - readability-redundant-string-cstr, - readability-redundant-string-init, - readability-simplify-boolean-expr, - readability-simplify-subscript-expr, - readability-static-accessed-through-instance, - readability-static-definition-in-anonymous-namespace, - readability-string-compare, - readability-uniqueptr-delete-release" - -WarningsAsErrors: " - boost-use-to-string, - bugprone-dangling-handle, - bugprone-fold-init-type, - bugprone-inaccurate-erase, - bugprone-incorrect-roundings, - bugprone-misplaced-widening-cast, - bugprone-sizeof-container, - bugprone-sizeof-expression, - bugprone-string-constructor, - bugprone-suspicious-enum-usage, - bugprone-suspicious-memset-usage, - bugprone-suspicious-missing-comma, - bugprone-suspicious-semicolon, - bugprone-swapped-arguments, - bugprone-unused-raii, - bugprone-use-after-move, - llvm-namespace-comment, - misc-non-copyable-objects, - misc-redundant-expression, - misc-throw-by-value-catch-by-reference, - misc-unused-alias-decls, - misc-unused-parameters, - misc-unused-using-decls, - modernize-deprecated-headers, - modernize-redundant-void-arg, - modernize-use-bool-literals, - modernize-use-emplace, - modernize-use-equals-default, - modernize-use-equals-delete, - modernize-use-nullptr, - modernize-use-override, - modernize-use-using, - performance-faster-string-find, - performance-inefficient-algorithm, - readability-make-member-function-const, - readability-misleading-indentation, - readability-misplaced-array-index, - readability-string-compare" + *, + -abseil-*, + -altera-*, + -android-*, + -darwin-*, + -fuchsia-*, + -linuxkernel-*, + -llvmlibc-*, + -mpi-*, + -objc-*, + -zircon-*, + -modernize-use-trailing-return-type" HeaderFilterRegex: ^(?!\/usr)(?!\/opt) -FormatStyle: none +FormatStyle: file CheckOptions: - - key: bugprone-argument-comment.CommentBoolLiterals - value: "0" - - key: bugprone-argument-comment.CommentCharacterLiterals - value: "0" - - key: bugprone-argument-comment.CommentFloatLiterals - value: "0" - - key: bugprone-argument-comment.CommentIntegerLiterals - value: "0" - - key: bugprone-argument-comment.CommentNullPtrs - value: "0" - - key: bugprone-argument-comment.CommentStringLiterals - value: "0" - - key: bugprone-argument-comment.CommentUserDefinedLiterals - value: "0" - - key: bugprone-argument-comment.IgnoreSingleArgument - value: "0" - - key: bugprone-argument-comment.StrictMode - value: "0" - - key: bugprone-assert-side-effect.AssertMacros - value: assert - - key: bugprone-assert-side-effect.CheckFunctionCalls - value: "0" - - key: bugprone-dangling-handle.HandleClasses - value: std::basic_string_view;std::experimental::basic_string_view - - key: bugprone-dynamic-static-initializers.HeaderFileExtensions - value: ",h,hh,hpp,hxx" - - key: bugprone-exception-escape.FunctionsThatShouldNotThrow - value: "" - - key: bugprone-exception-escape.IgnoredExceptions - value: "" - - key: bugprone-misplaced-widening-cast.CheckImplicitCasts - value: "0" - - key: bugprone-not-null-terminated-result.WantToUseSafeFunctions - value: "1" - - key: bugprone-signed-char-misuse.CharTypdefsToIgnore - value: "" - - key: bugprone-sizeof-expression.WarnOnSizeOfCompareToConstant - value: "1" - - key: bugprone-sizeof-expression.WarnOnSizeOfConstant - value: "1" - - key: bugprone-sizeof-expression.WarnOnSizeOfIntegerExpression - value: "0" - - key: bugprone-sizeof-expression.WarnOnSizeOfThis - value: "1" - - key: bugprone-string-constructor.LargeLengthThreshold - value: "8388608" - - key: bugprone-string-constructor.WarnOnLargeLength - value: "1" - - key: bugprone-suspicious-enum-usage.StrictMode - value: "0" - - key: bugprone-suspicious-missing-comma.MaxConcatenatedTokens - value: "5" - - key: bugprone-suspicious-missing-comma.RatioThreshold - value: "0.200000" - - key: bugprone-suspicious-missing-comma.SizeThreshold - value: "5" - - key: bugprone-suspicious-string-compare.StringCompareLikeFunctions - value: "" - - key: bugprone-suspicious-string-compare.WarnOnImplicitComparison - value: "1" - - key: bugprone-suspicious-string-compare.WarnOnLogicalNotComparison - value: "0" - - key: bugprone-too-small-loop-variable.MagnitudeBitsUpperLimit - value: "16" - - key: bugprone-unhandled-self-assignment.WarnOnlyIfThisHasSuspiciousField - value: "1" - - key: bugprone-unused-return-value.CheckedFunctions - value: ::std::async;::std::launder;::std::remove;::std::remove_if;::std::unique;::std::unique_ptr::release;::std::basic_string::empty;::std::vector::empty - - key: cert-dcl16-c.NewSuffixes - value: L;LL;LU;LLU - - key: cert-oop54-cpp.WarnOnlyIfThisHasSuspiciousField - value: "0" - - key: cppcoreguidelines-explicit-virtual-functions.IgnoreDestructors - value: "1" - - key: cppcoreguidelines-macro-usage.AllowedRegexp - value: ^DEBUG_* - - key: cppcoreguidelines-macro-usage.CheckCapsOnly - value: "0" - - key: cppcoreguidelines-macro-usage.IgnoreCommandLineMacros - value: "1" - - key: cppcoreguidelines-no-malloc.Allocations - value: ::malloc;::calloc - - key: cppcoreguidelines-no-malloc.Deallocations - value: ::free - - key: cppcoreguidelines-no-malloc.Reallocations - value: ::realloc - - key: cppcoreguidelines-non-private-member-variables-in-classes.IgnoreClassesWithAllMemberVariablesBeingPublic - value: "1" - - key: cppcoreguidelines-pro-type-member-init.IgnoreArrays - value: "0" - - key: cppcoreguidelines-pro-type-member-init.UseAssignment - value: "0" - - key: cppcoreguidelines-special-member-functions.AllowMissingMoveFunctions - value: "0" - - key: cppcoreguidelines-special-member-functions.AllowSoleDefaultDtor - value: "0" - - key: google-readability-braces-around-statements.ShortStatementLines - value: "1" - - key: google-readability-function-size.StatementThreshold - value: "800" - - key: google-readability-namespace-comments.ShortNamespaceLines - value: "10" - - key: google-readability-namespace-comments.SpacesBeforeComments - value: "2" - - key: hicpp-multiway-paths-covered.WarnOnMissingElse - value: "0" - - key: hicpp-signed-bitwise.IgnorePositiveIntegerLiterals - value: "0" - - key: misc-definitions-in-headers.HeaderFileExtensions - value: ",h,hh,hpp,hxx" - - key: misc-definitions-in-headers.UseHeaderFileExtension - value: "1" - - key: misc-throw-by-value-catch-by-reference.CheckThrowTemporaries - value: "1" - - key: misc-unused-parameters.StrictMode - value: "0" - - key: modernize-loop-convert.MaxCopySize - value: "16" - - key: modernize-loop-convert.MinConfidence - value: reasonable - - key: modernize-loop-convert.NamingStyle - value: CamelCase - - key: modernize-make-shared.IgnoreMacros - value: "1" - - key: modernize-make-shared.IncludeStyle - value: google - - key: modernize-make-shared.MakeSmartPtrFunction - value: std::make_shared - - key: modernize-make-shared.MakeSmartPtrFunctionHeader - value: memory - - key: modernize-make-unique.IgnoreMacros - value: "1" - - key: modernize-make-unique.IncludeStyle - value: google - - key: modernize-make-unique.MakeSmartPtrFunction - value: std::make_unique - - key: modernize-make-unique.MakeSmartPtrFunctionHeader - value: memory - - key: modernize-pass-by-value.IncludeStyle - value: google - - key: modernize-pass-by-value.ValuesOnly - value: "0" - - key: modernize-raw-string-literal.ReplaceShorterLiterals - value: "0" - - key: modernize-replace-auto-ptr.IncludeStyle - value: google - - key: modernize-replace-random-shuffle.IncludeStyle - value: google - - key: modernize-use-auto.MinTypeNameLength - value: "5" - - key: modernize-use-auto.RemoveStars - value: "0" - - key: modernize-use-default-member-init.IgnoreMacros - value: "1" - - key: modernize-use-default-member-init.UseAssignment - value: "0" - - key: modernize-use-emplace.ContainersWithPushBack - value: ::std::vector;::std::list;::std::deque - - key: modernize-use-emplace.SmartPointers - value: ::std::shared_ptr;::std::unique_ptr;::std::auto_ptr;::std::weak_ptr - - key: modernize-use-emplace.TupleMakeFunctions - value: ::std::make_pair;::std::make_tuple - - key: modernize-use-emplace.TupleTypes - value: ::std::pair;::std::tuple - - key: modernize-use-equals-default.IgnoreMacros - value: "1" - - key: modernize-use-equals-delete.IgnoreMacros - value: "1" - - key: modernize-use-nodiscard.ReplacementString - value: "[[nodiscard]]" - - key: modernize-use-noexcept.ReplacementString - value: "" - - key: modernize-use-noexcept.UseNoexceptFalse - value: "1" - - key: modernize-use-nullptr.NullMacros - value: "NULL" - - key: modernize-use-override.AllowOverrideAndFinal - value: "0" - - key: modernize-use-override.FinalSpelling - value: final - - key: modernize-use-override.IgnoreDestructors - value: "0" - - key: modernize-use-override.OverrideSpelling - value: override - - key: modernize-use-transparent-functors.SafeMode - value: "0" - - key: modernize-use-using.IgnoreMacros - value: "1" - - key: performance-faster-string-find.StringLikeClasses - value: std::basic_string - - key: performance-for-range-copy.AllowedTypes - value: "" - - key: performance-for-range-copy.WarnOnAllAutoCopies - value: "0" - - key: performance-inefficient-string-concatenation.StrictMode - value: "0" - - key: performance-inefficient-vector-operation.EnableProto - value: "0" - - key: performance-inefficient-vector-operation.VectorLikeClasses - value: ::std::vector - - key: performance-move-const-arg.CheckTriviallyCopyableMove - value: "1" - - key: performance-move-constructor-init.IncludeStyle - value: google - - key: performance-no-automatic-move.AllowedTypes - value: "" - - key: performance-type-promotion-in-math-fn.IncludeStyle - value: google - - key: performance-unnecessary-copy-initialization.AllowedTypes - value: "" - - key: performance-unnecessary-value-param.AllowedTypes - value: .*Ptr;.*SharedFuture - - key: performance-unnecessary-value-param.IncludeStyle - value: google - - key: portability-simd-intrinsics.Std - value: "" - - key: portability-simd-intrinsics.Suggest - value: "0" - - key: readability-function-cognitive-complexity.IgnoreMacros - value: "1" - - key: readability-else-after-return.WarnOnUnfixable - value: "1" - key: readability-identifier-naming.NamespaceCase value: lower_case - key: readability-identifier-naming.ClassCase @@ -445,15 +35,3 @@ CheckOptions: value: g_ - key: readability-identifier-naming.ConstexprVariableCase value: lower_case - - key: readability-inconsistent-declaration-parameter-name.IgnoreMacros - value: "1" - - key: readability-inconsistent-declaration-parameter-name.Strict - value: "0" - - key: readability-redundant-smartptr-get.IgnoreMacros - value: "1" - - key: readability-redundant-string-init.StringNames - value: ::std::basic_string - - key: readability-simplify-subscript-expr.Types - value: ::std::basic_string;::std::basic_string_view;::std::vector;::std::array - - key: readability-static-accessed-through-instance.NameSpecifierNestingThreshold - value: "3" From 7bc7fbca160f00ea7923785b61017ef66e82558a Mon Sep 17 00:00:00 2001 From: Max SCHMELLER Date: Wed, 20 Nov 2024 17:21:43 +0900 Subject: [PATCH 2/5] chore(clang-tidy): add updated warnings-as-errors from Autoware CI Signed-off-by: Max SCHMELLER --- .clang-tidy | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/.clang-tidy b/.clang-tidy index be321a24e..060257596 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -12,6 +12,71 @@ Checks: " -zircon-*, -modernize-use-trailing-return-type" +# WarningsAsErrors have been taken from: +# https://github.com/autowarefoundation/autoware/blob/3591106/.clang-tidy-ci +WarningsAsErrors: " + // severity: HIGH + bugprone-dangling-handle, + bugprone-fold-init-type, + bugprone-inaccurate-erase, + bugprone-incorrect-roundings, + bugprone-misplaced-widening-cast, + bugprone-sizeof-container, + bugprone-sizeof-expression, + bugprone-string-constructor, + bugprone-suspicious-enum-usage, + bugprone-suspicious-memset-usage, + bugprone-suspicious-missing-comma, + bugprone-suspicious-semicolon, + bugprone-swapped-arguments, + bugprone-unchecked-optional-access, + bugprone-unused-raii, + bugprone-use-after-move, + misc-non-copyable-objects, + misc-throw-by-value-catch-by-reference, + + // severity: MEDIUM + bugprone-assert-side-effect, + bugprone-bad-signal-to-kill-thread, + bugprone-copy-constructor-init, + bugprone-dynamic-static-initializers, + bugprone-exception-escape, + bugprone-integer-division, + bugprone-macro-parentheses, + bugprone-macro-repeated-side-effects, + bugprone-misplaced-operator-in-strlen-in-alloc, + bugprone-move-forwarding-reference, + bugprone-multiple-statement-macro, + bugprone-not-null-terminated-result, + bugprone-parent-virtual-call, + bugprone-posix-return, + bugprone-signed-char-misuse, + bugprone-string-literal-with-embedded-nul, + bugprone-suspicious-string-compare, + bugprone-terminating-continue, + bugprone-throw-keyword-missing, + bugprone-too-small-loop-variable, + bugprone-undefined-memory-manipulation, + bugprone-undelegated-constructor, + bugprone-unhandled-self-assignment, + bugprone-unused-return-value, + bugprone-virtual-near-miss, + cppcoreguidelines-init-variables, + cppcoreguidelines-narrowing-conversions, + google-build-explicit-make-pair, + google-build-namespaces, + google-explicit-constructor, + misc-definitions-in-headers, + misc-new-delete-overloads, + misc-redundant-expression, + misc-unconventional-assign-operator, + misc-uniqueptr-reset-release, + performance-inefficient-algorithm, + performance-move-const-arg, + performance-move-constructor-init, + performance-noexcept-move-constructor, + readability-simplify-boolean-expr" + HeaderFilterRegex: ^(?!\/usr)(?!\/opt) FormatStyle: file From 56d0f37b7941138fe5d688b51c8a4d2793a73b4d Mon Sep 17 00:00:00 2001 From: Max SCHMELLER Date: Wed, 20 Nov 2024 17:57:14 +0900 Subject: [PATCH 3/5] chore(clang-tidy): promote some cppcoreguidelines checks to error, disable annoying checks Signed-off-by: Max SCHMELLER --- .clang-tidy | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/.clang-tidy b/.clang-tidy index 060257596..25dd14f09 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -10,12 +10,13 @@ Checks: " -mpi-*, -objc-*, -zircon-*, - -modernize-use-trailing-return-type" + -modernize-use-trailing-return-type, + -readability-identifier-length, + -readability-implicit-bool-conversion" # WarningsAsErrors have been taken from: # https://github.com/autowarefoundation/autoware/blob/3591106/.clang-tidy-ci WarningsAsErrors: " - // severity: HIGH bugprone-dangling-handle, bugprone-fold-init-type, bugprone-inaccurate-erase, @@ -32,10 +33,6 @@ WarningsAsErrors: " bugprone-unchecked-optional-access, bugprone-unused-raii, bugprone-use-after-move, - misc-non-copyable-objects, - misc-throw-by-value-catch-by-reference, - - // severity: MEDIUM bugprone-assert-side-effect, bugprone-bad-signal-to-kill-thread, bugprone-copy-constructor-init, @@ -61,11 +58,17 @@ WarningsAsErrors: " bugprone-unhandled-self-assignment, bugprone-unused-return-value, bugprone-virtual-near-miss, + cppcoreguidelines-slicing, + cppcoreguidelines-special-member-functions, + cppcoreguidelines-pro-bounds-constant-array-index, + cppcoreguidelines-virtual-class-destructor, cppcoreguidelines-init-variables, cppcoreguidelines-narrowing-conversions, google-build-explicit-make-pair, google-build-namespaces, google-explicit-constructor, + misc-non-copyable-objects, + misc-throw-by-value-catch-by-reference, misc-definitions-in-headers, misc-new-delete-overloads, misc-redundant-expression, @@ -100,3 +103,5 @@ CheckOptions: value: g_ - key: readability-identifier-naming.ConstexprVariableCase value: lower_case + - key: cppcoreguidelines-special-member-functions.AllowSoleDefaultDtor + value: true From 180b922b048dc69f42d5c0d2aeafc3b9f876f84b Mon Sep 17 00:00:00 2001 From: Max SCHMELLER Date: Wed, 20 Nov 2024 18:00:51 +0900 Subject: [PATCH 4/5] chore(clang-tidy): disable redundant alias for cppcoreguidelines-special-member-functions Signed-off-by: Max SCHMELLER --- .clang-tidy | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.clang-tidy b/.clang-tidy index 25dd14f09..0f1ce7e1a 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -12,7 +12,8 @@ Checks: " -zircon-*, -modernize-use-trailing-return-type, -readability-identifier-length, - -readability-implicit-bool-conversion" + -readability-implicit-bool-conversion, + -hicpp-special-member-functions" # WarningsAsErrors have been taken from: # https://github.com/autowarefoundation/autoware/blob/3591106/.clang-tidy-ci From 9781011d91db73012e5c179a6f7da75e213393eb Mon Sep 17 00:00:00 2001 From: Max SCHMELLER Date: Wed, 20 Nov 2024 18:06:57 +0900 Subject: [PATCH 5/5] chore(clang-tidy): add explanations for disabled checks Signed-off-by: Max SCHMELLER --- .clang-tidy | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.clang-tidy b/.clang-tidy index 0f1ce7e1a..f5cf5ab9a 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -1,3 +1,17 @@ +# All disabled checks have to come with an explanatory comment that states why they were disabled! +# +# modernize-use-trailing-return-type: +# Purely stylistic, makes function signature longer +# +# readability-identifier-length: +# Things like std::ostream os; nlohmann::json j; are popular. Reviewer can decide on those cases +# +# readability-implicit-bool-conversion: +# Makes packet-parsing (bool field that occupies a byte or bitfield) annoying +# +# hicpp-special-member-functions: +# Alias for cppcoreguidelines-special-member-functions, which is enabled. If both are enabled, +# the CheckOptions below have to be specified twice. Checks: " *, -abseil-*,