--- # Conservative clang-tidy configuration for Eigen. # # Focuses on bug-finding checks with low false-positive rates. # Intentionally omits style-enforcement checks (modernize-*, google-*, # cppcoreguidelines-*) since Eigen has its own conventions and is a # heavily-templated math library where many "modern C++" idioms don't apply. Checks: > -*, bugprone-*, -bugprone-narrowing-conversions, -bugprone-easily-swappable-parameters, -bugprone-implicit-widening-of-multiplication-result, -bugprone-exception-escape, misc-redundant-expression, misc-unused-using-decls, misc-misleading-identifier, performance-for-range-copy, performance-implicit-conversion-in-loop, performance-unnecessary-copy-initialization, performance-unnecessary-value-param, readability-container-size-empty, readability-duplicate-include, readability-misleading-indentation, readability-redundant-control-flow, readability-redundant-smartptr-get, WarningsAsErrors: '' HeaderFilterRegex: 'Eigen/.*|test/.*|blas/.*|lapack/.*|unsupported/Eigen/.*' # Eigen uses its own assert macros. CheckOptions: - key: bugprone-assert-side-effect.AssertMacros value: 'eigen_assert,eigen_internal_assert,EIGEN_STATIC_ASSERT,VERIFY,VERIFY_IS_APPROX,VERIFY_IS_EQUAL,VERIFY_IS_MUCH_SMALLER_THAN,VERIFY_IS_NOT_APPROX,VERIFY_IS_NOT_EQUAL,VERIFY_IS_UNITARY,VERIFY_RAISES_ASSERT' ...