---
----
+ # 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,
- google-readability-casting,
+ misc-misleading-identifier,
+ misc-homoglyph,
modernize-avoid-bind,
+ modernize-concat-nested-namespaces,
modernize-loop-convert,
modernize-make-shared,
modernize-make-unique,
modernize-replace-random-shuffle,
modernize-shrink-to-fit,
modernize-use-bool-literals,
- modernize-use-default-member-init,
modernize-use-emplace,
modernize-use-equals-default,
modernize-use-equals-delete,
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
...
-