# Disabled some clang-analyzer static checks, need some more investigation. # TODO(hzeller) fix and re-enable clang-analyzer checks. # TODO(hzeller) Looking over magic numbers might be good, but probably # not worthwhile hard-failing # TODO(hzeller) Explore anofalloff suggestions. # # readability-make-member-function-const is great, but it also suggests that # in cases where we return a non-const pointer. So good to check, not by # default. # # readability-qualified-auto is useful in general, however it suggests # to convert iterators (e.g. std::string_view::begin()) to the pointer it # returns; however since the iterator is implementation defined, this is not # a valid assertion. Running the check every now and then manually and # fixing all the non-iterator cases is useful though. Off by default. # # misc-const-correctness: useful, but it seems to be overzealous at times. # # modernize-make-unique: mostly correct, but wants to also replace .reset() # which is a more readable way than assign. # # misc-include-cleaner: we do not exclude it here, as it is useful in itself # locally running clang tidy checks (and potentially language # server support); but since code is not 'clean' yet, we # exclude it in the CI run. # Config: don't flag *_linter_test_utils.h as they define a test # template spezialization that clang-tidy fails to see is necessary. # # NOTE: Below, there must be no comments, otherwise clang tidy silently ignores # rules... (ask me how I know). ### Checks: > clang-diagnostic-*, clang-analyzer-*, -clang-analyzer-core.NonNullParamChecker, -clang-analyzer-cplusplus.InnerPointer, -clang-analyzer-optin.performance.Padding, abseil-*, -abseil-no-namespace, readability-*, -readability-avoid-unconditional-preprocessor-if, -readability-braces-around-statements, -readability-convert-member-functions-to-static, -readability-function-cognitive-complexity, -readability-identifier-length, -readability-implicit-bool-conversion, -readability-isolate-declaration, -readability-magic-numbers, -readability-make-member-function-const, -readability-named-parameter, -readability-qualified-auto, -readability-redundant-access-specifiers, -readability-simplify-boolean-expr, -readability-static-definition-in-anonymous-namespace, -readability-uppercase-literal-suffix, -readability-use-anyofallof, google-*, -google-readability-avoid-underscore-in-googletest-name, -google-readability-casting, -google-readability-todo, performance-*, -performance-avoid-endl, bugprone-*, -bugprone-branch-clone, -bugprone-easily-swappable-parameters, -bugprone-exception-escape, -bugprone-macro-parentheses, -bugprone-move-forwarding-reference, -bugprone-narrowing-conversions, -bugprone-suspicious-missing-comma, modernize-*, -modernize-avoid-bind, -modernize-avoid-c-arrays, -modernize-concat-nested-namespaces, -modernize-make-unique, -modernize-pass-by-value, -modernize-raw-string-literal, -modernize-return-braced-init-list, -modernize-type-traits, -modernize-use-auto, -modernize-use-emplace, -modernize-use-nodiscard, -modernize-use-trailing-return-type, -modernize-use-transparent-functors, misc-*, -misc-const-correctness, -misc-no-recursion, -misc-non-private-member-variables-in-classes, -misc-redundant-expression, -misc-unused-parameters, -misc-use-anonymous-namespace, CheckOptions: - key: misc-include-cleaner.IgnoreHeaders value: .*_linter_test_utils\.h