summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Dmitri Gribenko <dmitrig@google.com>2023-08-08 09:46:31 -0700
committerGravatar Copybara-Service <copybara-worker@google.com>2023-08-08 09:47:22 -0700
commit0ddbfd530c9124c21021970dfaeb2aa5ada57b51 (patch)
tree63a328cf7d10b6820596ce05c619b16204e4a6f3
parent3a41b2c3a6a3912b8ebf7f60c742547fa8417e91 (diff)
Include what you spell
PiperOrigin-RevId: 554854436 Change-Id: Ifbac5ba447528ac696ac59eced95fd752aacf4f9
-rw-r--r--absl/strings/BUILD.bazel17
-rw-r--r--absl/strings/CMakeLists.txt24
-rw-r--r--absl/strings/ascii.cc2
-rw-r--r--absl/strings/ascii.h1
-rw-r--r--absl/strings/ascii_benchmark.cc2
-rw-r--r--absl/strings/ascii_test.cc2
-rw-r--r--absl/strings/charconv.cc5
-rw-r--r--absl/strings/charconv_test.cc7
-rw-r--r--absl/strings/cord.cc22
-rw-r--r--absl/strings/cord_analysis.cc8
-rw-r--r--absl/strings/cord_buffer_test.cc4
-rw-r--r--absl/strings/cord_ring_reader_test.cc8
-rw-r--r--absl/strings/cord_ring_test.cc12
-rw-r--r--absl/strings/cord_test.cc23
-rw-r--r--absl/strings/cordz_test.cc10
-rw-r--r--absl/strings/escaping.cc7
-rw-r--r--absl/strings/escaping_benchmark.cc4
-rw-r--r--absl/strings/escaping_test.cc7
-rw-r--r--absl/strings/match.cc3
-rw-r--r--absl/strings/match_test.cc3
-rw-r--r--absl/strings/numbers.cc8
-rw-r--r--absl/strings/numbers_benchmark.cc2
-rw-r--r--absl/strings/numbers_test.cc3
-rw-r--r--absl/strings/str_cat.cc5
-rw-r--r--absl/strings/str_cat_benchmark.cc4
-rw-r--r--absl/strings/str_cat_test.cc5
-rw-r--r--absl/strings/str_format_test.cc8
-rw-r--r--absl/strings/str_join_test.cc3
-rw-r--r--absl/strings/str_replace.cc8
-rw-r--r--absl/strings/str_replace_test.cc4
-rw-r--r--absl/strings/str_split.cc9
-rw-r--r--absl/strings/str_split_benchmark.cc1
-rw-r--r--absl/strings/str_split_test.cc8
-rw-r--r--absl/strings/string_view_benchmark.cc1
-rw-r--r--absl/strings/string_view_test.cc9
-rw-r--r--absl/strings/substitute.cc7
-rw-r--r--absl/strings/substitute_test.cc3
37 files changed, 187 insertions, 72 deletions
diff --git a/absl/strings/BUILD.bazel b/absl/strings/BUILD.bazel
index 819bbe69..e3b8af48 100644
--- a/absl/strings/BUILD.bazel
+++ b/absl/strings/BUILD.bazel
@@ -158,6 +158,7 @@ cc_test(
":strings",
"//absl/base:core_headers",
"//absl/container:fixed_array",
+ "//absl/log:check",
"@com_google_googletest//:gtest_main",
],
)
@@ -485,8 +486,8 @@ cc_library(
"//absl/base:core_headers",
"//absl/base:endian",
"//absl/base:raw_logging_internal",
- "//absl/container:fixed_array",
"//absl/container:inlined_vector",
+ "//absl/crc:crc32c",
"//absl/crc:crc_cord_state",
"//absl/functional:function_ref",
"//absl/meta:type_traits",
@@ -773,6 +774,7 @@ cc_test(
":cord",
":cord_internal",
":cord_rep_test_util",
+ ":string_view",
"//absl/base:config",
"//absl/types:span",
"@com_google_googletest//:gtest_main",
@@ -787,19 +789,24 @@ cc_test(
visibility = ["//visibility:private"],
deps = [
":cord",
+ ":cord_internal",
":cord_test_helpers",
":cordz_functions",
+ ":cordz_statistics",
":cordz_test_helpers",
+ ":cordz_update_tracker",
":str_format",
":strings",
"//absl/base:config",
"//absl/base:core_headers",
"//absl/base:endian",
"//absl/container:fixed_array",
+ "//absl/functional:function_ref",
"//absl/hash",
"//absl/log",
"//absl/log:check",
"//absl/random",
+ "//absl/types:optional",
"@com_google_googletest//:gtest_main",
],
)
@@ -821,6 +828,7 @@ cc_test(
visibility = ["//visibility:private"],
deps = [
":cord",
+ ":cord_internal",
":cord_test_helpers",
":cordz_functions",
":cordz_info",
@@ -849,6 +857,7 @@ cc_test(
"//absl/base:core_headers",
"//absl/base:raw_logging_internal",
"//absl/debugging:leak_check",
+ "//absl/types:span",
"@com_google_googletest//:gtest_main",
],
)
@@ -862,8 +871,10 @@ cc_test(
deps = [
":cord_internal",
":strings",
+ "//absl/base:config",
"//absl/base:core_headers",
"//absl/debugging:leak_check",
+ "//absl/types:span",
"@com_google_googletest//:gtest_main",
],
)
@@ -1041,6 +1052,7 @@ cc_test(
":strings",
"//absl/base:config",
"//absl/log",
+ "//absl/numeric:int128",
"//absl/random",
"//absl/random:distributions",
"@com_google_googletest//:gtest_main",
@@ -1211,6 +1223,9 @@ cc_test(
":cord",
":str_format",
":strings",
+ "//absl/base:config",
+ "//absl/base:core_headers",
+ "//absl/types:span",
"@com_google_googletest//:gtest_main",
],
)
diff --git a/absl/strings/CMakeLists.txt b/absl/strings/CMakeLists.txt
index 1959dc91..0e588674 100644
--- a/absl/strings/CMakeLists.txt
+++ b/absl/strings/CMakeLists.txt
@@ -138,6 +138,7 @@ absl_cc_test(
absl::core_headers
absl::fixed_array
GTest::gmock_main
+ absl::check
)
absl_cc_test(
@@ -329,13 +330,14 @@ absl_cc_test(
COPTS
${ABSL_TEST_COPTS}
DEPS
- absl::strings
- absl::core_headers
- absl::pow10_helper
absl::config
+ absl::core_headers
+ absl::int128
absl::log
- absl::random_random
+ absl::pow10_helper
absl::random_distributions
+ absl::random_random
+ absl::strings
absl::strings_internal
GTest::gmock_main
)
@@ -464,10 +466,12 @@ absl_cc_test(
COPTS
${ABSL_TEST_COPTS}
DEPS
- absl::str_format
+ absl::config
absl::cord
- absl::strings
absl::core_headers
+ absl::span
+ absl::str_format
+ absl::strings
GTest::gmock_main
)
@@ -918,9 +922,9 @@ absl_cc_library(
absl::cordz_update_scope
absl::cordz_update_tracker
absl::core_headers
+ absl::crc32c
absl::crc_cord_state
absl::endian
- absl::fixed_array
absl::function_ref
absl::inlined_vector
absl::optional
@@ -1001,8 +1005,10 @@ absl_cc_test(
absl::core_headers
absl::endian
absl::fixed_array
+ absl::function_ref
absl::hash
absl::log
+ absl::optional
absl::random_random
absl::str_format
absl::strings
@@ -1109,6 +1115,7 @@ absl_cc_test(
absl::cord_internal
absl::core_headers
absl::raw_logging_internal
+ absl::span
absl::strings
GTest::gmock_main
)
@@ -1122,8 +1129,10 @@ absl_cc_test(
${ABSL_TEST_COPTS}
DEPS
absl::base
+ absl::config
absl::cord_internal
absl::core_headers
+ absl::span
absl::strings
GTest::gmock_main
)
@@ -1137,6 +1146,7 @@ absl_cc_test(
${ABSL_TEST_COPTS}
DEPS
absl::cord
+ absl::cord_internal
absl::cord_test_helpers
absl::cordz_test_helpers
absl::cordz_functions
diff --git a/absl/strings/ascii.cc b/absl/strings/ascii.cc
index 16c96899..8c6b1e05 100644
--- a/absl/strings/ascii.cc
+++ b/absl/strings/ascii.cc
@@ -18,6 +18,8 @@
#include <cstring>
#include <string>
+#include "absl/base/config.h"
+
namespace absl {
ABSL_NAMESPACE_BEGIN
namespace ascii_internal {
diff --git a/absl/strings/ascii.h b/absl/strings/ascii.h
index 42eadaea..ba6679bd 100644
--- a/absl/strings/ascii.h
+++ b/absl/strings/ascii.h
@@ -53,6 +53,7 @@
#define ABSL_STRINGS_ASCII_H_
#include <algorithm>
+#include <cstddef>
#include <string>
#include "absl/base/attributes.h"
diff --git a/absl/strings/ascii_benchmark.cc b/absl/strings/ascii_benchmark.cc
index aca458c8..b04b28ca 100644
--- a/absl/strings/ascii_benchmark.cc
+++ b/absl/strings/ascii_benchmark.cc
@@ -14,7 +14,9 @@
#include "absl/strings/ascii.h"
+#include <algorithm>
#include <cctype>
+#include <cstddef>
#include <string>
#include <array>
#include <random>
diff --git a/absl/strings/ascii_test.cc b/absl/strings/ascii_test.cc
index 4ea262f1..117140c1 100644
--- a/absl/strings/ascii_test.cc
+++ b/absl/strings/ascii_test.cc
@@ -22,7 +22,7 @@
#include "gtest/gtest.h"
#include "absl/base/macros.h"
-#include "absl/base/port.h"
+#include "absl/strings/string_view.h"
namespace {
diff --git a/absl/strings/charconv.cc b/absl/strings/charconv.cc
index 778a1c75..60b3715c 100644
--- a/absl/strings/charconv.cc
+++ b/absl/strings/charconv.cc
@@ -16,9 +16,10 @@
#include <algorithm>
#include <cassert>
-#include <cmath>
-#include <cstring>
+#include <cstddef>
+#include <cstdint>
#include <limits>
+#include <system_error> // NOLINT(build/c++11)
#include "absl/base/casts.h"
#include "absl/base/config.h"
diff --git a/absl/strings/charconv_test.cc b/absl/strings/charconv_test.cc
index b83de5a0..c16c735c 100644
--- a/absl/strings/charconv_test.cc
+++ b/absl/strings/charconv_test.cc
@@ -14,14 +14,19 @@
#include "absl/strings/charconv.h"
+#include <cfloat>
+#include <cmath>
#include <cstdlib>
+#include <functional>
+#include <limits>
#include <string>
+#include <system_error> // NOLINT(build/c++11)
-#include "gmock/gmock.h"
#include "gtest/gtest.h"
#include "absl/strings/internal/pow10_helper.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/str_format.h"
+#include "absl/strings/string_view.h"
#ifdef _MSC_FULL_VER
#define ABSL_COMPILER_DOES_EXACT_ROUNDING 0
diff --git a/absl/strings/cord.cc b/absl/strings/cord.cc
index c5379de3..0c26e37e 100644
--- a/absl/strings/cord.cc
+++ b/absl/strings/cord.cc
@@ -15,28 +15,31 @@
#include "absl/strings/cord.h"
#include <algorithm>
-#include <atomic>
#include <cassert>
#include <cstddef>
+#include <cstdint>
#include <cstdio>
#include <cstdlib>
+#include <cstring>
#include <iomanip>
#include <ios>
#include <iostream>
#include <limits>
+#include <memory>
#include <ostream>
#include <sstream>
-#include <type_traits>
-#include <unordered_set>
-#include <vector>
+#include <string>
+#include <utility>
-#include "absl/base/casts.h"
+#include "absl/base/config.h"
+#include "absl/base/internal/endian.h"
#include "absl/base/internal/raw_logging.h"
#include "absl/base/macros.h"
-#include "absl/base/port.h"
-#include "absl/container/fixed_array.h"
+#include "absl/base/optimization.h"
#include "absl/container/inlined_vector.h"
+#include "absl/crc/crc32c.h"
#include "absl/crc/internal/crc_cord_state.h"
+#include "absl/functional/function_ref.h"
#include "absl/strings/cord_buffer.h"
#include "absl/strings/escaping.h"
#include "absl/strings/internal/cord_data_edge.h"
@@ -44,13 +47,12 @@
#include "absl/strings/internal/cord_rep_btree.h"
#include "absl/strings/internal/cord_rep_crc.h"
#include "absl/strings/internal/cord_rep_flat.h"
-#include "absl/strings/internal/cordz_statistics.h"
-#include "absl/strings/internal/cordz_update_scope.h"
#include "absl/strings/internal/cordz_update_tracker.h"
#include "absl/strings/internal/resize_uninitialized.h"
#include "absl/strings/str_cat.h"
-#include "absl/strings/str_join.h"
#include "absl/strings/string_view.h"
+#include "absl/types/optional.h"
+#include "absl/types/span.h"
namespace absl {
ABSL_NAMESPACE_BEGIN
diff --git a/absl/strings/cord_analysis.cc b/absl/strings/cord_analysis.cc
index e859b0db..fa1a0cc8 100644
--- a/absl/strings/cord_analysis.cc
+++ b/absl/strings/cord_analysis.cc
@@ -14,23 +14,17 @@
#include "absl/strings/cord_analysis.h"
+#include <cassert>
#include <cstddef>
#include <cstdint>
#include <unordered_set>
-#include "absl/base/attributes.h"
#include "absl/base/config.h"
-#include "absl/container/inlined_vector.h"
#include "absl/strings/internal/cord_data_edge.h"
#include "absl/strings/internal/cord_internal.h"
#include "absl/strings/internal/cord_rep_btree.h"
#include "absl/strings/internal/cord_rep_crc.h"
-#include "absl/strings/internal/cord_rep_flat.h"
#include "absl/strings/internal/cord_rep_ring.h"
-//
-#include "absl/base/macros.h"
-#include "absl/base/port.h"
-#include "absl/functional/function_ref.h"
namespace absl {
ABSL_NAMESPACE_BEGIN
diff --git a/absl/strings/cord_buffer_test.cc b/absl/strings/cord_buffer_test.cc
index 5c7437ae..ab628081 100644
--- a/absl/strings/cord_buffer_test.cc
+++ b/absl/strings/cord_buffer_test.cc
@@ -16,16 +16,18 @@
#include <algorithm>
-#include <climits>
#include <cstring>
+#include <limits>
#include <string>
#include <utility>
#include "gmock/gmock.h"
#include "gtest/gtest.h"
#include "absl/base/config.h"
+#include "absl/strings/internal/cord_internal.h"
#include "absl/strings/internal/cord_rep_flat.h"
#include "absl/strings/internal/cord_rep_test_util.h"
+#include "absl/strings/string_view.h"
#include "absl/types/span.h"
using testing::Eq;
diff --git a/absl/strings/cord_ring_reader_test.cc b/absl/strings/cord_ring_reader_test.cc
index 8e7183bf..d135f3cf 100644
--- a/absl/strings/cord_ring_reader_test.cc
+++ b/absl/strings/cord_ring_reader_test.cc
@@ -12,19 +12,19 @@
// See the License for the specific language governing permissions and
// limitations under the License.
+#include <array>
#include <cstdlib>
+#include <cstring>
#include <ctime>
-#include <memory>
-#include <random>
-#include <sstream>
#include "gmock/gmock.h"
#include "gtest/gtest.h"
-#include "absl/debugging/leak_check.h"
+#include "absl/base/config.h"
#include "absl/strings/internal/cord_internal.h"
#include "absl/strings/internal/cord_rep_ring.h"
#include "absl/strings/internal/cord_rep_ring_reader.h"
#include "absl/strings/string_view.h"
+#include "absl/types/span.h"
namespace absl {
ABSL_NAMESPACE_BEGIN
diff --git a/absl/strings/cord_ring_test.cc b/absl/strings/cord_ring_test.cc
index f39a0a4f..74f57c77 100644
--- a/absl/strings/cord_ring_test.cc
+++ b/absl/strings/cord_ring_test.cc
@@ -12,22 +12,26 @@
// See the License for the specific language governing permissions and
// limitations under the License.
+#include <cassert>
#include <cstdlib>
+#include <cstring>
#include <ctime>
-#include <memory>
+#include <iostream>
+#include <ostream>
#include <random>
#include <sstream>
+#include <string>
+#include <vector>
#include "gmock/gmock.h"
#include "gtest/gtest.h"
#include "absl/base/config.h"
-#include "absl/base/internal/raw_logging.h"
-#include "absl/base/macros.h"
-#include "absl/debugging/leak_check.h"
#include "absl/strings/internal/cord_internal.h"
+#include "absl/strings/internal/cord_rep_flat.h"
#include "absl/strings/internal/cord_rep_ring.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/string_view.h"
+#include "absl/types/span.h"
extern thread_local bool cord_ring;
diff --git a/absl/strings/cord_test.cc b/absl/strings/cord_test.cc
index 36e397ed..51fef316 100644
--- a/absl/strings/cord_test.cc
+++ b/absl/strings/cord_test.cc
@@ -15,33 +15,50 @@
#include "absl/strings/cord.h"
#include <algorithm>
-#include <climits>
+#include <array>
+#include <cassert>
+#include <cstddef>
+#include <cstdint>
#include <cstdio>
+#include <cstring>
+#include <iostream>
#include <iterator>
-#include <map>
-#include <numeric>
+#include <limits>
#include <random>
+#include <set>
#include <sstream>
+#include <string>
#include <type_traits>
#include <utility>
#include <vector>
#include "gmock/gmock.h"
#include "gtest/gtest.h"
+#include "absl/base/attributes.h"
#include "absl/base/config.h"
#include "absl/base/internal/endian.h"
#include "absl/base/macros.h"
+#include "absl/base/options.h"
#include "absl/container/fixed_array.h"
+#include "absl/functional/function_ref.h"
#include "absl/hash/hash.h"
#include "absl/log/check.h"
#include "absl/log/log.h"
#include "absl/random/random.h"
+#include "absl/strings/cord_buffer.h"
#include "absl/strings/cord_test_helpers.h"
#include "absl/strings/cordz_test_helpers.h"
+#include "absl/strings/internal/cord_internal.h"
+#include "absl/strings/internal/cord_rep_crc.h"
+#include "absl/strings/internal/cord_rep_flat.h"
+#include "absl/strings/internal/cordz_statistics.h"
+#include "absl/strings/internal/cordz_update_tracker.h"
+#include "absl/strings/internal/string_constant.h"
#include "absl/strings/match.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/str_format.h"
#include "absl/strings/string_view.h"
+#include "absl/types/optional.h"
// convenience local constants
static constexpr auto FLAT = absl::cord_internal::FLAT;
diff --git a/absl/strings/cordz_test.cc b/absl/strings/cordz_test.cc
index 2b7d30b0..a35493e3 100644
--- a/absl/strings/cordz_test.cc
+++ b/absl/strings/cordz_test.cc
@@ -12,18 +12,20 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#include <cstdint>
+#include <cstddef>
+#include <cstring>
+#include <ostream>
#include <string>
+#include <utility>
#include "gmock/gmock.h"
#include "gtest/gtest.h"
#include "absl/base/config.h"
-#include "absl/base/internal/raw_logging.h"
-#include "absl/base/macros.h"
#include "absl/strings/cord.h"
+#include "absl/strings/cord_buffer.h"
#include "absl/strings/cord_test_helpers.h"
#include "absl/strings/cordz_test_helpers.h"
-#include "absl/strings/internal/cordz_functions.h"
+#include "absl/strings/internal/cord_internal.h"
#include "absl/strings/internal/cordz_info.h"
#include "absl/strings/internal/cordz_sample_token.h"
#include "absl/strings/internal/cordz_statistics.h"
diff --git a/absl/strings/escaping.cc b/absl/strings/escaping.cc
index 2827fbaa..5bf02236 100644
--- a/absl/strings/escaping.cc
+++ b/absl/strings/escaping.cc
@@ -16,21 +16,22 @@
#include <algorithm>
#include <cassert>
+#include <cstddef>
#include <cstdint>
#include <cstring>
-#include <iterator>
#include <limits>
#include <string>
-#include "absl/base/internal/endian.h"
+#include "absl/base/config.h"
#include "absl/base/internal/raw_logging.h"
#include "absl/base/internal/unaligned_access.h"
+#include "absl/strings/ascii.h"
#include "absl/strings/internal/char_map.h"
#include "absl/strings/internal/escaping.h"
#include "absl/strings/internal/resize_uninitialized.h"
#include "absl/strings/internal/utf8.h"
+#include "absl/strings/numbers.h"
#include "absl/strings/str_cat.h"
-#include "absl/strings/str_join.h"
#include "absl/strings/string_view.h"
namespace absl {
diff --git a/absl/strings/escaping_benchmark.cc b/absl/strings/escaping_benchmark.cc
index 10d5b033..f792226a 100644
--- a/absl/strings/escaping_benchmark.cc
+++ b/absl/strings/escaping_benchmark.cc
@@ -14,13 +14,17 @@
#include "absl/strings/escaping.h"
+#include <cstdint>
#include <cstdio>
#include <cstring>
+#include <memory>
#include <random>
+#include <string>
#include "benchmark/benchmark.h"
#include "absl/base/internal/raw_logging.h"
#include "absl/strings/internal/escaping_test_common.h"
+#include "absl/strings/str_cat.h"
namespace {
diff --git a/absl/strings/escaping_test.cc b/absl/strings/escaping_test.cc
index 9f62c1ee..ca1ee45c 100644
--- a/absl/strings/escaping_test.cc
+++ b/absl/strings/escaping_test.cc
@@ -15,17 +15,20 @@
#include "absl/strings/escaping.h"
#include <array>
+#include <cstddef>
#include <cstdio>
#include <cstring>
+#include <initializer_list>
#include <memory>
+#include <string>
#include <vector>
-#include "gmock/gmock.h"
#include "gtest/gtest.h"
-#include "absl/container/fixed_array.h"
+#include "absl/log/check.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/internal/escaping_test_common.h"
+#include "absl/strings/string_view.h"
namespace {
diff --git a/absl/strings/match.cc b/absl/strings/match.cc
index 3b81b2c0..72ae6a43 100644
--- a/absl/strings/match.cc
+++ b/absl/strings/match.cc
@@ -17,10 +17,13 @@
#include <algorithm>
#include <cstdint>
+#include "absl/base/config.h"
#include "absl/base/internal/endian.h"
+#include "absl/base/optimization.h"
#include "absl/numeric/bits.h"
#include "absl/strings/ascii.h"
#include "absl/strings/internal/memutil.h"
+#include "absl/strings/string_view.h"
namespace absl {
ABSL_NAMESPACE_BEGIN
diff --git a/absl/strings/match_test.cc b/absl/strings/match_test.cc
index 71618f71..6218ce4e 100644
--- a/absl/strings/match_test.cc
+++ b/absl/strings/match_test.cc
@@ -14,7 +14,10 @@
#include "absl/strings/match.h"
+#include <string>
+
#include "gtest/gtest.h"
+#include "absl/strings/string_view.h"
namespace {
diff --git a/absl/strings/numbers.cc b/absl/strings/numbers.cc
index c43c6bcc..5d13f105 100644
--- a/absl/strings/numbers.cc
+++ b/absl/strings/numbers.cc
@@ -27,20 +27,20 @@
#include <cstring>
#include <iterator>
#include <limits>
-#include <memory>
+#include <system_error> // NOLINT(build/c++11)
#include <utility>
#include "absl/base/attributes.h"
+#include "absl/base/config.h"
#include "absl/base/internal/endian.h"
#include "absl/base/internal/raw_logging.h"
#include "absl/base/optimization.h"
#include "absl/numeric/bits.h"
+#include "absl/numeric/int128.h"
#include "absl/strings/ascii.h"
#include "absl/strings/charconv.h"
-#include "absl/strings/escaping.h"
-#include "absl/strings/internal/memutil.h"
#include "absl/strings/match.h"
-#include "absl/strings/str_cat.h"
+#include "absl/strings/string_view.h"
namespace absl {
ABSL_NAMESPACE_BEGIN
diff --git a/absl/strings/numbers_benchmark.cc b/absl/strings/numbers_benchmark.cc
index 6e79b3e8..e7cb60a4 100644
--- a/absl/strings/numbers_benchmark.cc
+++ b/absl/strings/numbers_benchmark.cc
@@ -13,6 +13,7 @@
// limitations under the License.
#include <cstdint>
+#include <limits>
#include <random>
#include <string>
#include <type_traits>
@@ -23,6 +24,7 @@
#include "absl/random/distributions.h"
#include "absl/random/random.h"
#include "absl/strings/numbers.h"
+#include "absl/strings/string_view.h"
namespace {
diff --git a/absl/strings/numbers_test.cc b/absl/strings/numbers_test.cc
index 2864bda2..a450b99e 100644
--- a/absl/strings/numbers_test.cc
+++ b/absl/strings/numbers_test.cc
@@ -28,6 +28,7 @@
#include <cstdio>
#include <cstdlib>
#include <cstring>
+#include <ios>
#include <limits>
#include <numeric>
#include <random>
@@ -38,12 +39,14 @@
#include "gmock/gmock.h"
#include "gtest/gtest.h"
#include "absl/log/log.h"
+#include "absl/numeric/int128.h"
#include "absl/random/distributions.h"
#include "absl/random/random.h"
#include "absl/strings/internal/numbers_test_common.h"
#include "absl/strings/internal/ostringstream.h"
#include "absl/strings/internal/pow10_helper.h"
#include "absl/strings/str_cat.h"
+#include "absl/strings/string_view.h"
namespace {
diff --git a/absl/strings/str_cat.cc b/absl/strings/str_cat.cc
index 2e49c31b..17f42d28 100644
--- a/absl/strings/str_cat.cc
+++ b/absl/strings/str_cat.cc
@@ -16,15 +16,14 @@
#include <assert.h>
-#include <algorithm>
#include <cstddef>
#include <cstdint>
#include <cstring>
+#include <initializer_list>
#include <string>
-#include "absl/strings/ascii.h"
+#include "absl/base/config.h"
#include "absl/strings/internal/resize_uninitialized.h"
-#include "absl/strings/numbers.h"
#include "absl/strings/string_view.h"
namespace absl {
diff --git a/absl/strings/str_cat_benchmark.cc b/absl/strings/str_cat_benchmark.cc
index 02c4dbe6..81b20548 100644
--- a/absl/strings/str_cat_benchmark.cc
+++ b/absl/strings/str_cat_benchmark.cc
@@ -15,9 +15,13 @@
#include "absl/strings/str_cat.h"
#include <cstdint>
+#include <cstdio>
+#include <cstdlib>
+#include <cstring>
#include <string>
#include "benchmark/benchmark.h"
+#include "absl/strings/string_view.h"
#include "absl/strings/substitute.h"
namespace {
diff --git a/absl/strings/str_cat_test.cc b/absl/strings/str_cat_test.cc
index 2d74245e..7f52e053 100644
--- a/absl/strings/str_cat_test.cc
+++ b/absl/strings/str_cat_test.cc
@@ -16,13 +16,16 @@
#include "absl/strings/str_cat.h"
+#include <cstddef>
#include <cstdint>
+#include <cstdlib>
+#include <limits>
#include <string>
#include <vector>
#include "gtest/gtest.h"
#include "absl/strings/str_format.h"
-#include "absl/strings/substitute.h"
+#include "absl/strings/string_view.h"
#ifdef __ANDROID__
// Android assert messages only go to system log, so death tests cannot inspect
diff --git a/absl/strings/str_format_test.cc b/absl/strings/str_format_test.cc
index 20fd0289..195ef3fe 100644
--- a/absl/strings/str_format_test.cc
+++ b/absl/strings/str_format_test.cc
@@ -14,16 +14,22 @@
#include "absl/strings/str_format.h"
+#include <cerrno>
#include <cstdarg>
#include <cstdint>
#include <cstdio>
+#include <ostream>
+#include <sstream>
#include <string>
+#include <type_traits>
-#include "gmock/gmock.h"
#include "gtest/gtest.h"
+#include "absl/base/config.h"
+#include "absl/base/macros.h"
#include "absl/strings/cord.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/string_view.h"
+#include "absl/types/span.h"
namespace absl {
ABSL_NAMESPACE_BEGIN
diff --git a/absl/strings/str_join_test.cc b/absl/strings/str_join_test.cc
index c986e863..449f95be 100644
--- a/absl/strings/str_join_test.cc
+++ b/absl/strings/str_join_test.cc
@@ -25,8 +25,9 @@
#include <map>
#include <memory>
#include <ostream>
+#include <string>
#include <tuple>
-#include <type_traits>
+#include <utility>
#include <vector>
#include "gtest/gtest.h"
diff --git a/absl/strings/str_replace.cc b/absl/strings/str_replace.cc
index 2bd5fa98..9ce49e56 100644
--- a/absl/strings/str_replace.cc
+++ b/absl/strings/str_replace.cc
@@ -14,7 +14,15 @@
#include "absl/strings/str_replace.h"
+#include <cstddef>
+#include <initializer_list>
+#include <string>
+#include <utility>
+#include <vector>
+
+#include "absl/base/config.h"
#include "absl/strings/str_cat.h"
+#include "absl/strings/string_view.h"
namespace absl {
ABSL_NAMESPACE_BEGIN
diff --git a/absl/strings/str_replace_test.cc b/absl/strings/str_replace_test.cc
index 9d8c7f75..36cb9551 100644
--- a/absl/strings/str_replace_test.cc
+++ b/absl/strings/str_replace_test.cc
@@ -16,11 +16,15 @@
#include <list>
#include <map>
+#include <string>
#include <tuple>
+#include <utility>
+#include <vector>
#include "gtest/gtest.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/str_split.h"
+#include "absl/strings/string_view.h"
TEST(StrReplaceAll, OneReplacement) {
std::string s;
diff --git a/absl/strings/str_split.cc b/absl/strings/str_split.cc
index 72ba7c02..9669eb0b 100644
--- a/absl/strings/str_split.cc
+++ b/absl/strings/str_split.cc
@@ -15,16 +15,13 @@
#include "absl/strings/str_split.h"
#include <algorithm>
-#include <cassert>
-#include <cstdint>
+#include <cstddef>
#include <cstdlib>
#include <cstring>
-#include <iterator>
-#include <limits>
-#include <memory>
+#include "absl/base/config.h"
#include "absl/base/internal/raw_logging.h"
-#include "absl/strings/ascii.h"
+#include "absl/strings/string_view.h"
namespace absl {
ABSL_NAMESPACE_BEGIN
diff --git a/absl/strings/str_split_benchmark.cc b/absl/strings/str_split_benchmark.cc
index f38dfcfe..003a66b5 100644
--- a/absl/strings/str_split_benchmark.cc
+++ b/absl/strings/str_split_benchmark.cc
@@ -14,6 +14,7 @@
#include "absl/strings/str_split.h"
+#include <cstddef>
#include <iterator>
#include <string>
#include <unordered_map>
diff --git a/absl/strings/str_split_test.cc b/absl/strings/str_split_test.cc
index 04a64a42..eb0c6c00 100644
--- a/absl/strings/str_split_test.cc
+++ b/absl/strings/str_split_test.cc
@@ -14,26 +14,28 @@
#include "absl/strings/str_split.h"
+#include <cstddef>
+#include <cstdint>
#include <deque>
#include <initializer_list>
#include <list>
#include <map>
#include <memory>
+#include <set>
#include <string>
-#include <type_traits>
#include <unordered_map>
#include <unordered_set>
+#include <utility>
#include <vector>
#include "gmock/gmock.h"
#include "gtest/gtest.h"
-#include "absl/base/dynamic_annotations.h"
#include "absl/base/macros.h"
#include "absl/container/btree_map.h"
#include "absl/container/btree_set.h"
#include "absl/container/flat_hash_map.h"
#include "absl/container/node_hash_map.h"
-#include "absl/strings/numbers.h"
+#include "absl/strings/string_view.h"
namespace {
diff --git a/absl/strings/string_view_benchmark.cc b/absl/strings/string_view_benchmark.cc
index 0d74e23e..98f747ca 100644
--- a/absl/strings/string_view_benchmark.cc
+++ b/absl/strings/string_view_benchmark.cc
@@ -15,6 +15,7 @@
#include "absl/strings/string_view.h"
#include <algorithm>
+#include <cstddef>
#include <cstdint>
#include <map>
#include <random>
diff --git a/absl/strings/string_view_test.cc b/absl/strings/string_view_test.cc
index 990c211a..642989b1 100644
--- a/absl/strings/string_view_test.cc
+++ b/absl/strings/string_view_test.cc
@@ -15,20 +15,23 @@
#include "absl/strings/string_view.h"
#include <stdlib.h>
+
+#include <cstddef>
+#include <cstdlib>
+#include <cstring>
#include <iomanip>
+#include <ios>
#include <iterator>
#include <limits>
#include <map>
+#include <memory>
#include <sstream>
-#include <stdexcept>
#include <string>
#include <type_traits>
#include <utility>
#include "gtest/gtest.h"
#include "absl/base/config.h"
-#include "absl/base/dynamic_annotations.h"
-#include "absl/base/options.h"
#if defined(ABSL_HAVE_STD_STRING_VIEW) || defined(__ANDROID__)
// We don't control the death messaging when using std::string_view.
diff --git a/absl/strings/substitute.cc b/absl/strings/substitute.cc
index 33a39305..354c070d 100644
--- a/absl/strings/substitute.cc
+++ b/absl/strings/substitute.cc
@@ -15,11 +15,18 @@
#include "absl/strings/substitute.h"
#include <algorithm>
+#include <cassert>
+#include <cstddef>
+#include <cstdint>
+#include <string>
+#include "absl/base/config.h"
#include "absl/base/internal/raw_logging.h"
#include "absl/strings/ascii.h"
#include "absl/strings/escaping.h"
#include "absl/strings/internal/resize_uninitialized.h"
+#include "absl/strings/numbers.h"
+#include "absl/strings/str_cat.h"
#include "absl/strings/string_view.h"
namespace absl {
diff --git a/absl/strings/substitute_test.cc b/absl/strings/substitute_test.cc
index ecf78d6b..70f9119b 100644
--- a/absl/strings/substitute_test.cc
+++ b/absl/strings/substitute_test.cc
@@ -15,10 +15,13 @@
#include "absl/strings/substitute.h"
#include <cstdint>
+#include <cstring>
+#include <string>
#include <vector>
#include "gtest/gtest.h"
#include "absl/strings/str_cat.h"
+#include "absl/strings/string_view.h"
namespace {