--- # Note: Alas, `Checks` is a string, not an array. # Comments in the block string are not parsed and are passed in the value. # They must thus be delimited by ',' from either side - then they are # harmless. It's terrible, but it works. Checks: >- clang-diagnostic-*, clang-analyzer-*, -clang-analyzer-optin.core.EnumCastOutOfRange, bugprone-*, -bugprone-unchecked-optional-access, ,# This is ridiculous, as it triggers on constants, -bugprone-implicit-widening-of-multiplication-result, -bugprone-easily-swappable-parameters, ,# Is not really useful, has false positives, triggers for no-noexcept move constructors ..., -bugprone-exception-escape, -bugprone-narrowing-conversions, -bugprone-chained-comparison,# RIP decomposers, modernize-*, -modernize-avoid-c-arrays, -modernize-use-auto, -modernize-use-emplace, -modernize-use-nullptr,# it went crazy with three-way comparison operators, -modernize-use-trailing-return-type, -modernize-return-braced-init-list, -modernize-concat-nested-namespaces, -modernize-use-nodiscard, -modernize-use-default-member-init, -modernize-type-traits,# we need to support C++14, -modernize-deprecated-headers, ,# There's a lot of these and most of them are probably not useful, -modernize-pass-by-value, performance-*, performance-enum-size, portability-*, readability-*, -readability-braces-around-statements, -readability-container-size-empty, -readability-convert-member-functions-to-static, -readability-else-after-return, -readability-function-cognitive-complexity, -readability-function-size, -readability-identifier-length, -readability-implicit-bool-conversion, -readability-isolate-declaration, -readability-magic-numbers, -readability-math-missing-parentheses, #no, 'a + B * C' obeying math rules is not confusing, -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, -readability-avoid-return-with-void-value, ,# time hogs, -bugprone-throw-keyword-missing, -modernize-replace-auto-ptr, -readability-identifier-naming, ,# We cannot use this until clang-tidy supports custom unique_ptr, -bugprone-use-after-move, ,# Doesn't recognize unevaluated context in CATCH_MOVE and CATCH_FORWARD, -bugprone-macro-repeated-side-effects, WarningsAsErrors: >- clang-analyzer-core.*, clang-analyzer-cplusplus.*, clang-analyzer-security.*, clang-analyzer-unix.*, performance-move-const-arg, performance-unnecessary-value-param, readability-duplicate-include, HeaderFilterRegex: '.*\.(c|cxx|cpp)$' FormatStyle: none CheckOptions: {} ...