| --- |
| # TODO(crbug.com/1282228): reenable google-readability-casting once it no |
| # longer has as many false-positives. |
| # TODO(crbug.com/1406869): reenable modernize-use-default-member-init once |
| # C++20 is everywhere; it recommends using default member init for bit fields, |
| # which is C++20-only. |
| Checks: '-*, |
| bugprone-argument-comment, |
| bugprone-assert-side-effect, |
| bugprone-dangling-handle, |
| bugprone-inaccurate-erase, |
| bugprone-string-constructor, |
| bugprone-string-integer-assignment, |
| bugprone-undefined-memory-manipulation, |
| bugprone-unused-raii, |
| bugprone-use-after-move, |
| google-build-explicit-make-pair, |
| google-explicit-constructor, |
| misc-misleading-identifier, |
| misc-homoglyph, |
| modernize-avoid-bind, |
| modernize-concat-nested-namespaces, |
| modernize-loop-convert, |
| modernize-make-shared, |
| modernize-make-unique, |
| modernize-redundant-void-arg, |
| modernize-replace-random-shuffle, |
| modernize-shrink-to-fit, |
| modernize-use-bool-literals, |
| modernize-use-emplace, |
| modernize-use-equals-default, |
| modernize-use-equals-delete, |
| modernize-use-noexcept, |
| modernize-use-nullptr, |
| modernize-use-override, |
| modernize-use-transparent-functors, |
| readability-redundant-member-init' |
| CheckOptions: |
| - key: bugprone-assert-side-effect.AssertMacros |
| value: assert,DCHECK |
| - key: bugprone-dangling-handle.HandleClasses |
| value: ::std::basic_string_view;::std::span;::absl::string_view;::base::BasicStringPiece;::base::span |
| - key: bugprone-string-constructor.StringNames |
| value: ::std::basic_string;::std::basic_string_view;::base::BasicStringPiece;::absl::string_view |
| - key: modernize-use-default-member-init.UseAssignment |
| value: 1 |
| # crbug.com/1342136, crbug.com/1343915: At times, this check makes |
| # suggestions that break builds. Safe mode allows us to sidestep that. |
| - key: modernize-use-transparent-functors.SafeMode |
| value: 1 |
| # This relaxes modernize-use-emplace in some cases; we might want to make it |
| # more aggressive in the future. See discussion on |
| # https://groups.google.com/a/chromium.org/g/cxx/c/noMMTNYiM0w . |
| - key: modernize-use-emplace.IgnoreImplicitConstructors |
| value: 1 |
| # crbug.com/1420969, crbug.com/1421042: Tricium's `show fix` button isn't |
| # working, which leads to devs thinking that clang-tidy is suggesting C++20 |
| # constructs in some cases. Until fixes can be surfaced to show that |
| # `base::Reversed` is encouraged, just turn reverse ranges off entirely. |
| # TODO(crbug.com/1404958): alternatively, remove these once C++20 is |
| # everywhere. |
| - key: modernize-loop-convert.UseCxx20ReverseRanges |
| value: false |
| ... |