---
Checks: '
bugprone-*,

cert-dcl21-cpp,
cert-dcl50-cpp,
cert-env33-c,
cert-err34-c,
cert-err52-cpp,
cert-flp30-c,
cert-mem57-cpp,
cert-msc50-cpp,
cert-oop58-cpp,

clang-analyzer-*,
clang-diagnostic-*,

google-*,

misc-misplaced-const,
misc-redundant-expression,
misc-static-assert,
misc-throw-by-value-catch-by-reference,
misc-unconventional-assign-operator,
misc-unconventional-assign-operator,
misc-uniqueptr-reset-release,
misc-unused-alias-decls,
misc-unused-parameters,
misc-unused-using-decls,

modernize-use-auto,
modernize-use-emplace,
modernize-use-equals-default,
modernize-use-equals-delete,
modernize-use-nullptr,
modernize-use-override,
modernize-use-using,

performance-*,

readability-*,
-readability-else-after-return,
-readability-isolate-declaration,
-readability-magic-numbers,
-readability-named-parameter,
-readability-redundant-access-specifiers,
-readability-uppercase-literal-suffix,
–readability-inconsistent-declaration-parameter-name,
'

CheckOptions:
    # Sometimes moving a trivially copyable type actually makes a difference,
    # e.g. when you use TAutoEmbedOrPtrPolicy.
  - key:   performance-move-const-arg.CheckTriviallyCopyableMove
    value: '0'

    # Allow ```if (ptr) // ...``` checks.
  - key:   readability-implicit-bool-conversion.AllowPointerConditions
    value: '1'
