2 # TODO(crbug.com/1282228): reenable google-readability-casting once it no
3 # longer has as many false-positives.
4 # TODO(crbug.com/1406869): reenable modernize-use-default-member-init once
5 # C++20 is everywhere; it recommends using default member init for bit fields,
8 bugprone-argument-comment,
9 bugprone-assert-side-effect,
10 bugprone-dangling-handle,
11 bugprone-inaccurate-erase,
12 bugprone-string-constructor,
13 bugprone-string-integer-assignment,
14 bugprone-undefined-memory-manipulation,
16 bugprone-use-after-move,
17 google-build-explicit-make-pair,
18 google-explicit-constructor,
19 misc-misleading-identifier,
22 modernize-concat-nested-namespaces,
23 modernize-loop-convert,
24 modernize-make-shared,
25 modernize-make-unique,
26 modernize-redundant-void-arg,
27 modernize-replace-random-shuffle,
28 modernize-shrink-to-fit,
29 modernize-use-bool-literals,
30 modernize-use-emplace,
31 modernize-use-equals-default,
32 modernize-use-equals-delete,
33 modernize-use-noexcept,
34 modernize-use-nullptr,
35 modernize-use-override,
36 modernize-use-transparent-functors,
37 readability-redundant-member-init'
39 - key: bugprone-assert-side-effect.AssertMacros
41 - key: bugprone-dangling-handle.HandleClasses
42 value: ::std::basic_string_view;::std::span;::absl::string_view;::base::BasicStringPiece;::base::span
43 - key: bugprone-string-constructor.StringNames
44 value: ::std::basic_string;::std::basic_string_view;::base::BasicStringPiece;::absl::string_view
45 - key: modernize-use-default-member-init.UseAssignment
47 # crbug.com/1342136, crbug.com/1343915: At times, this check makes
48 # suggestions that break builds. Safe mode allows us to sidestep that.
49 - key: modernize-use-transparent-functors.SafeMode
51 # This relaxes modernize-use-emplace in some cases; we might want to make it
52 # more aggressive in the future. See discussion on
53 # https://groups.google.com/a/chromium.org/g/cxx/c/noMMTNYiM0w .
54 - key: modernize-use-emplace.IgnoreImplicitConstructors
56 # crbug.com/1420969, crbug.com/1421042: Tricium's `show fix` button isn't
57 # working, which leads to devs thinking that clang-tidy is suggesting C++20
58 # constructs in some cases. Until fixes can be surfaced to show that
59 # `base::Reversed` is encouraged, just turn reverse ranges off entirely.
60 # TODO(crbug.com/1404958): alternatively, remove these once C++20 is
62 - key: modernize-loop-convert.UseCxx20ReverseRanges