---
# TODO(crbug.com/1282228): reenable google-readability-casting once it no
# longer has as many false-positives.
Checks: '-*,
bugprone-argument-comment,
bugprone-assert-side-effect,
bugprone-bool-pointer-implicit-conversion,
bugprone-dangling-handle,
bugprone-forward-declaration-namespace,
bugprone-inaccurate-erase,
bugprone-string-constructor,
bugprone-string-integer-assignment,
bugprone-undefined-memory-manipulation,
bugprone-unique-ptr-array-mismatch,
bugprone-unused-raii,
bugprone-use-after-move,
bugprone-virtual-near-miss,
google-build-explicit-make-pair,
google-default-arguments,
google-explicit-constructor,
google-objc-avoid-nsobject-new,
google-upgrade-googletest-case,
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-default-member-init,
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
# Use of `std::ranges::reverse_view` is inconsistent with
# Chromium style. Recommend `base::Reversed` instead.
- key: modernize-loop-convert.MakeReverseRangeFunction
value: base::Reversed
- key: modernize-loop-convert.MakeReverseRangeHeader
value: base/containers/adapters.h
# Exclude some third_party headers from modification as file paths are not
# starting from repository root in replacement suggestion.
# 'build/linux/debian' excludes system headers as they don't have
# appropriate IWYU pragmas.
# https://clang.llvm.org/extra/clang-tidy/checks/misc/include-cleaner.html
- key: misc-include-cleaner.IgnoreHeaders
value: (gmock/gmock|gtest/gtest|third_party|build/linux/debian).*
...