.clang-tidy raw

   1  Checks: '
   2  -*,
   3  bitcoin-*,
   4  bugprone-argument-comment,
   5  bugprone-move-forwarding-reference,
   6  bugprone-string-constructor,
   7  bugprone-use-after-move,
   8  bugprone-lambda-function-name,
   9  bugprone-unhandled-self-assignment,
  10  bugprone-unused-return-value,
  11  misc-unused-using-decls,
  12  misc-no-recursion,
  13  modernize-avoid-bind,
  14  modernize-deprecated-headers,
  15  modernize-use-default-member-init,
  16  modernize-use-emplace,
  17  modernize-use-equals-default,
  18  modernize-use-noexcept,
  19  modernize-use-nullptr,
  20  modernize-use-starts-ends-with,
  21  performance-*,
  22  -performance-avoid-endl,
  23  -performance-enum-size,
  24  -performance-inefficient-string-concatenation,
  25  -performance-no-int-to-ptr,
  26  -performance-noexcept-move-constructor,
  27  -performance-unnecessary-value-param,
  28  readability-avoid-const-params-in-decls,
  29  readability-const-return-type,
  30  readability-container-contains,
  31  readability-redundant-declaration,
  32  readability-redundant-string-init,
  33  '
  34  HeaderFilterRegex: '.'
  35  WarningsAsErrors: '*'
  36  CheckOptions:
  37   - key: modernize-deprecated-headers.CheckHeaderFile
  38     value: false
  39   - key: performance-move-const-arg.CheckTriviallyCopyableMove
  40     value: false  # Disabled, to allow the bugprone-use-after-move rule on trivially copyable types, to catch logic bugs
  41   - key: bugprone-unhandled-self-assignment.WarnOnlyIfThisHasSuspiciousField
  42     value: false
  43   - key: bugprone-unused-return-value.CheckedReturnTypes
  44     value: '^::std::error_code$;^::std::error_condition$;^::std::errc$;^::std::expected$;^::util::Result$;^::util::Expected$'
  45   - key: bugprone-unused-return-value.AllowCastToVoid
  46     value: true  # Can be removed with C++26 once the _ placeholder exists.
  47