Fix ClangTidy warnings, include what you spell

PiperOrigin-RevId: 548113357
Change-Id: I4627d73b34660596274833f368b09ff34408e6a9
diff --git a/rs_bindings_from_cc/BUILD b/rs_bindings_from_cc/BUILD
index e4f8510..40bae5d 100644
--- a/rs_bindings_from_cc/BUILD
+++ b/rs_bindings_from_cc/BUILD
@@ -73,8 +73,8 @@
         "//common:status_macros",
         "@absl//absl/flags:parse",
         "@absl//absl/status",
-        "@absl//absl/status:statusor",
         "@absl//absl/strings",
+        "@absl//absl/types:span",
         "@llvm-project//llvm:Support",
     ],
 )
@@ -93,6 +93,7 @@
         "//common:status_macros",
         "@absl//absl/container:flat_hash_map",
         "@absl//absl/container:flat_hash_set",
+        "@absl//absl/log:check",
         "@absl//absl/status:statusor",
         "@absl//absl/strings",
     ],
@@ -113,10 +114,11 @@
         ":cmdline",
         ":collect_namespaces",
         ":generate_bindings_and_metadata",
+        "//common:cc_ffi_types",
         "//common:rust_allocator_shims",
         "//common:status_macros",
         "//common:test_utils",
-        "@absl//absl/status",
+        "@absl//absl/container:flat_hash_map",
         "@absl//absl/status:statusor",
         "@absl//absl/strings",
         "@com_google_googletest//:gtest_main",
@@ -130,6 +132,7 @@
     visibility = ["//:__subpackages__"],
     deps = [
         "@llvm-project//clang:ast",
+        "@llvm-project//clang:basic",
     ],
 )
 
@@ -152,6 +155,7 @@
     srcs = ["bazel_types_test.cc"],
     deps = [
         ":bazel_types",
+        "@absl//absl/strings:string_view",
         "@com_google_googletest//:gtest_main",
     ],
 )
@@ -163,9 +167,7 @@
     visibility = ["//:__subpackages__"],
     deps = [
         ":cc_ir",
-        "//common:status_macros",
         "@absl//absl/container:flat_hash_map",
-        "@absl//absl/status:statusor",
         "@absl//absl/strings",
         "@llvm-project//clang:ast",
     ],
@@ -185,6 +187,7 @@
         "@absl//absl/container:flat_hash_set",
         "@absl//absl/flags:flag",
         "@absl//absl/log",
+        "@absl//absl/status",
         "@absl//absl/status:statusor",
         "@absl//absl/strings",
         "@llvm-project//llvm:Support",
@@ -196,8 +199,13 @@
     srcs = ["cmdline_test.cc"],
     deps = [
         ":bazel_types",
+        ":cc_ir",
         ":cmdline",
+        "//common:cc_ffi_types",
         "//common:status_test_matchers",
+        "@absl//absl/status",
+        "@absl//absl/status:statusor",
+        "@absl//absl/strings:string_view",
         "@com_google_googletest//:gtest_main",
     ],
 )
@@ -214,7 +222,10 @@
         "@absl//absl/container:flat_hash_map",
         "@absl//absl/log:check",
         "@absl//absl/status:statusor",
+        "@absl//absl/types:span",
         "@llvm-project//clang:ast",
+        "@llvm-project//clang:basic",
+        "@llvm-project//clang:sema",
     ],
 )
 
@@ -225,8 +236,10 @@
     deps = [
         ":ast_consumer",
         ":decl_importer",
+        "//lifetime_annotations",
         "@llvm-project//clang:ast",
         "@llvm-project//clang:frontend",
+        "@llvm-project//llvm:Support",
     ],
 )
 
@@ -289,11 +302,8 @@
         ":cc_ir",
         ":ir_from_cc",
         "//common:status_test_matchers",
-        "//common:test_utils",
         "@absl//absl/status",
-        "@absl//absl/status:statusor",
         "@absl//absl/strings",
-        "@absl//absl/types:span",
         "@com_google_googletest//:gtest_main",
     ],
 )
@@ -305,6 +315,7 @@
     visibility = ["//rs_bindings_from_cc:__subpackages__"],
     deps = [
         ":bazel_types",
+        "//common:string_type",
         "//common:strong_int",
         "@absl//absl/container:flat_hash_map",
         "@absl//absl/container:flat_hash_set",
@@ -374,6 +385,7 @@
     deps = [
         ":bazel_types",
         ":cc_ir",
+        ":decl_importer",
         ":frontend_action",
         "@absl//absl/container:flat_hash_map",
         "@absl//absl/container:flat_hash_set",
@@ -382,7 +394,7 @@
         "@absl//absl/status:statusor",
         "@absl//absl/strings",
         "@absl//absl/types:span",
-        "@llvm-project//clang:frontend",
+        "@llvm-project//clang:serialization",
         "@llvm-project//clang:tooling",
     ],
 )
@@ -397,6 +409,7 @@
         ":ir_from_cc",
         "//common:cc_ffi_types",
         "@absl//absl/status:statusor",
+        "@absl//absl/strings:string_view",
         "@llvm-project//llvm:Support",
     ],
 )
@@ -548,6 +561,7 @@
     deps = [
         ":collect_instantiations",  # build_cleaner: keep
         "//common:cc_ffi_types",
+        "@absl//absl/status",
         "@absl//absl/status:statusor",
         "@absl//absl/types:span",
         "@llvm-project//llvm:Support",
diff --git a/rs_bindings_from_cc/ast_convert.cc b/rs_bindings_from_cc/ast_convert.cc
index 575a221..f341864 100644
--- a/rs_bindings_from_cc/ast_convert.cc
+++ b/rs_bindings_from_cc/ast_convert.cc
@@ -9,6 +9,7 @@
 #include "rs_bindings_from_cc/ir.h"
 #include "clang/AST/Decl.h"
 #include "clang/AST/DeclCXX.h"
+#include "clang/Basic/LLVM.h"
 #include "clang/Basic/Specifiers.h"
 
 namespace crubit {
diff --git a/rs_bindings_from_cc/ast_util.cc b/rs_bindings_from_cc/ast_util.cc
index ff8df3b..547990c 100644
--- a/rs_bindings_from_cc/ast_util.cc
+++ b/rs_bindings_from_cc/ast_util.cc
@@ -4,8 +4,9 @@
 
 #include "rs_bindings_from_cc/ast_util.h"
 
-#include "clang/AST/DeclCXX.h"
+#include "clang/AST/DeclBase.h"
 #include "clang/AST/DeclTemplate.h"
+#include "clang/Basic/LLVM.h"
 
 namespace crubit {
 
diff --git a/rs_bindings_from_cc/ast_util.h b/rs_bindings_from_cc/ast_util.h
index 576c9b2..e341ba7 100644
--- a/rs_bindings_from_cc/ast_util.h
+++ b/rs_bindings_from_cc/ast_util.h
@@ -5,7 +5,7 @@
 #ifndef CRUBIT_RS_BINDINGS_FROM_CC_AST_UTIL_H_
 #define CRUBIT_RS_BINDINGS_FROM_CC_AST_UTIL_H_
 
-#include "clang/AST/DeclCXX.h"
+#include "clang/AST/DeclBase.h"
 
 namespace crubit {
 
diff --git a/rs_bindings_from_cc/bazel_types.cc b/rs_bindings_from_cc/bazel_types.cc
index 62f82a9..6992f95 100644
--- a/rs_bindings_from_cc/bazel_types.cc
+++ b/rs_bindings_from_cc/bazel_types.cc
@@ -4,7 +4,9 @@
 
 #include "rs_bindings_from_cc/bazel_types.h"
 
+#include <cstddef>
 #include <limits>
+#include <string>
 
 #include "absl/log/check.h"
 #include "absl/strings/ascii.h"
diff --git a/rs_bindings_from_cc/bazel_types_test.cc b/rs_bindings_from_cc/bazel_types_test.cc
index f2e7657..c97a235 100644
--- a/rs_bindings_from_cc/bazel_types_test.cc
+++ b/rs_bindings_from_cc/bazel_types_test.cc
@@ -4,8 +4,10 @@
 
 #include "rs_bindings_from_cc/bazel_types.h"
 
-#include "gmock/gmock.h"
+#include <string>
+
 #include "gtest/gtest.h"
+#include "absl/strings/string_view.h"
 
 namespace crubit {
 
diff --git a/rs_bindings_from_cc/cmdline.cc b/rs_bindings_from_cc/cmdline.cc
index f22885e..8740e25 100644
--- a/rs_bindings_from_cc/cmdline.cc
+++ b/rs_bindings_from_cc/cmdline.cc
@@ -6,16 +6,20 @@
 
 #include <algorithm>
 #include <iterator>
-#include <optional>
 #include <string>
 #include <utility>
 #include <vector>
 
 #include "absl/flags/flag.h"
 #include "absl/log/log.h"
+#include "absl/status/status.h"
 #include "absl/strings/str_cat.h"
 #include "absl/strings/substitute.h"
+#include "common/ffi_types.h"
 #include "common/status_macros.h"
+#include "rs_bindings_from_cc/bazel_types.h"
+#include "rs_bindings_from_cc/ir.h"
+#include "llvm/Support/Error.h"
 #include "llvm/Support/JSON.h"
 
 ABSL_FLAG(bool, do_nothing, false,
diff --git a/rs_bindings_from_cc/cmdline.h b/rs_bindings_from_cc/cmdline.h
index 533fac2..feae0da 100644
--- a/rs_bindings_from_cc/cmdline.h
+++ b/rs_bindings_from_cc/cmdline.h
@@ -33,7 +33,7 @@
       std::string crubit_support_path, std::string clang_format_exe_path,
       std::string rustfmt_exe_path, std::string rustfmt_config_path,
       bool do_nothing, std::vector<std::string> public_headers,
-      std::string target_args_str, std::vector<std::string> extra_rs_sources,
+      std::string target_args_str, std::vector<std::string> extra_rs_srcs,
       std::vector<std::string> srcs_to_scan_for_instantiations,
       std::string instantiations_out, std::string error_report_out,
       SourceLocationDocComment generate_source_location_in_doc_comment) {
@@ -43,7 +43,7 @@
         std::move(crubit_support_path), std::move(clang_format_exe_path),
         std::move(rustfmt_exe_path), std::move(rustfmt_config_path), do_nothing,
         std::move(public_headers), std::move(target_args_str),
-        std::move(extra_rs_sources), std::move(srcs_to_scan_for_instantiations),
+        std::move(extra_rs_srcs), std::move(srcs_to_scan_for_instantiations),
         std::move(instantiations_out), std::move(error_report_out),
         generate_source_location_in_doc_comment);
   }
@@ -102,7 +102,7 @@
       std::string crubit_support_path, std::string clang_format_exe_path,
       std::string rustfmt_exe_path, std::string rustfmt_config_path,
       bool do_nothing, std::vector<std::string> public_headers,
-      std::string target_args_str, std::vector<std::string> extra_rs_sources,
+      std::string target_args_str, std::vector<std::string> extra_rs_srcs,
       std::vector<std::string> srcs_to_scan_for_instantiations,
       std::string instantiations_out, std::string error_report_out,
       SourceLocationDocComment generate_source_location_in_doc_comment);
diff --git a/rs_bindings_from_cc/cmdline_test.cc b/rs_bindings_from_cc/cmdline_test.cc
index 77864fb..599c20a 100644
--- a/rs_bindings_from_cc/cmdline_test.cc
+++ b/rs_bindings_from_cc/cmdline_test.cc
@@ -5,12 +5,18 @@
 #include "rs_bindings_from_cc/cmdline.h"
 
 #include <string>
+#include <utility>
 #include <vector>
 
 #include "gmock/gmock.h"
 #include "gtest/gtest.h"
+#include "absl/status/status.h"
+#include "absl/status/statusor.h"
+#include "absl/strings/string_view.h"
+#include "common/ffi_types.h"
 #include "common/status_test_matchers.h"
 #include "rs_bindings_from_cc/bazel_types.h"
+#include "rs_bindings_from_cc/ir.h"
 
 namespace crubit {
 namespace {
diff --git a/rs_bindings_from_cc/collect_instantiations.cc b/rs_bindings_from_cc/collect_instantiations.cc
index 926f842..2626b38 100644
--- a/rs_bindings_from_cc/collect_instantiations.cc
+++ b/rs_bindings_from_cc/collect_instantiations.cc
@@ -4,9 +4,15 @@
 
 #include "rs_bindings_from_cc/collect_instantiations.h"
 
+#include <string>
+#include <utility>
+#include <vector>
+
+#include "absl/status/status.h"
 #include "absl/status/statusor.h"
 #include "absl/types/span.h"
 #include "common/ffi_types.h"
+#include "llvm/Support/Error.h"
 #include "llvm/Support/FormatVariadic.h"
 #include "llvm/Support/JSON.h"
 
diff --git a/rs_bindings_from_cc/collect_instantiations.h b/rs_bindings_from_cc/collect_instantiations.h
index fb54efa..e78d8ea 100644
--- a/rs_bindings_from_cc/collect_instantiations.h
+++ b/rs_bindings_from_cc/collect_instantiations.h
@@ -6,6 +6,7 @@
 #define CRUBIT_RS_BINDINGS_FROM_CC_COLLECT_INSTANTIATIONS_H_
 
 #include <string>
+#include <vector>
 
 #include "absl/status/statusor.h"
 #include "absl/types/span.h"
diff --git a/rs_bindings_from_cc/collect_instantiations_test.cc b/rs_bindings_from_cc/collect_instantiations_test.cc
index 83997f0..f1a2262 100644
--- a/rs_bindings_from_cc/collect_instantiations_test.cc
+++ b/rs_bindings_from_cc/collect_instantiations_test.cc
@@ -4,7 +4,8 @@
 
 #include "rs_bindings_from_cc/collect_instantiations.h"
 
-#include <climits>
+#include <string>
+#include <utility>
 
 #include "gmock/gmock.h"
 #include "gtest/gtest.h"
diff --git a/rs_bindings_from_cc/collect_namespaces.cc b/rs_bindings_from_cc/collect_namespaces.cc
index 55ebea8..12d49e4 100644
--- a/rs_bindings_from_cc/collect_namespaces.cc
+++ b/rs_bindings_from_cc/collect_namespaces.cc
@@ -4,7 +4,8 @@
 
 #include "rs_bindings_from_cc/collect_namespaces.h"
 
-#include <string_view>
+#include <string>
+#include <utility>
 #include <vector>
 
 #include "absl/container/btree_map.h"
diff --git a/rs_bindings_from_cc/collect_namespaces.h b/rs_bindings_from_cc/collect_namespaces.h
index 282c876..8322ef2 100644
--- a/rs_bindings_from_cc/collect_namespaces.h
+++ b/rs_bindings_from_cc/collect_namespaces.h
@@ -5,10 +5,13 @@
 #ifndef CRUBIT_RS_BINDINGS_FROM_CC_COLLECT_NAMESPACES_H_
 #define CRUBIT_RS_BINDINGS_FROM_CC_COLLECT_NAMESPACES_H_
 
+#include <ostream>
 #include <string>
+#include <vector>
 
 #include "rs_bindings_from_cc/bazel_types.h"
 #include "rs_bindings_from_cc/ir.h"
+#include "llvm/Support/FormatVariadic.h"
 #include "llvm/Support/JSON.h"
 
 namespace crubit {
diff --git a/rs_bindings_from_cc/decl_importer.h b/rs_bindings_from_cc/decl_importer.h
index 6c7e346..af82aa6 100644
--- a/rs_bindings_from_cc/decl_importer.h
+++ b/rs_bindings_from_cc/decl_importer.h
@@ -14,11 +14,15 @@
 #include "absl/container/flat_hash_map.h"
 #include "absl/log/check.h"
 #include "absl/status/statusor.h"
+#include "absl/types/span.h"
 #include "lifetime_annotations/lifetime_annotations.h"
 #include "lifetime_annotations/type_lifetimes.h"
 #include "rs_bindings_from_cc/bazel_types.h"
 #include "rs_bindings_from_cc/ir.h"
+#include "clang/AST/DeclBase.h"
 #include "clang/AST/Type.h"
+#include "clang/Basic/SourceLocation.h"
+#include "clang/Sema/Sema.h"
 
 namespace crubit {
 
diff --git a/rs_bindings_from_cc/frontend_action.cc b/rs_bindings_from_cc/frontend_action.cc
index 4dd9dc5..3d85c98 100644
--- a/rs_bindings_from_cc/frontend_action.cc
+++ b/rs_bindings_from_cc/frontend_action.cc
@@ -6,9 +6,11 @@
 
 #include <memory>
 
+#include "lifetime_annotations/lifetime_annotations.h"
 #include "rs_bindings_from_cc/ast_consumer.h"
 #include "clang/AST/ASTConsumer.h"
 #include "clang/Frontend/CompilerInstance.h"
+#include "llvm/ADT/StringRef.h"
 
 namespace crubit {
 
diff --git a/rs_bindings_from_cc/frontend_action.h b/rs_bindings_from_cc/frontend_action.h
index 3ba2c44..f156812 100644
--- a/rs_bindings_from_cc/frontend_action.h
+++ b/rs_bindings_from_cc/frontend_action.h
@@ -11,6 +11,7 @@
 #include "clang/AST/ASTConsumer.h"
 #include "clang/Frontend/CompilerInstance.h"
 #include "clang/Frontend/FrontendAction.h"
+#include "llvm/ADT/StringRef.h"
 
 namespace crubit {
 
diff --git a/rs_bindings_from_cc/generate_bindings_and_metadata.cc b/rs_bindings_from_cc/generate_bindings_and_metadata.cc
index 3c6044a..0ce67d4 100644
--- a/rs_bindings_from_cc/generate_bindings_and_metadata.cc
+++ b/rs_bindings_from_cc/generate_bindings_and_metadata.cc
@@ -7,11 +7,14 @@
 #include <optional>
 #include <string>
 #include <utility>
+#include <vector>
 
 #include "absl/container/flat_hash_map.h"
 #include "absl/container/flat_hash_set.h"
+#include "absl/log/check.h"
 #include "absl/strings/string_view.h"
 #include "common/status_macros.h"
+#include "rs_bindings_from_cc/cmdline.h"
 #include "rs_bindings_from_cc/collect_instantiations.h"
 #include "rs_bindings_from_cc/collect_namespaces.h"
 #include "rs_bindings_from_cc/ir.h"
diff --git a/rs_bindings_from_cc/generate_bindings_and_metadata.h b/rs_bindings_from_cc/generate_bindings_and_metadata.h
index ef69f40..1dca1e8 100644
--- a/rs_bindings_from_cc/generate_bindings_and_metadata.h
+++ b/rs_bindings_from_cc/generate_bindings_and_metadata.h
@@ -8,6 +8,7 @@
 #include <string>
 #include <vector>
 
+#include "absl/container/flat_hash_map.h"
 #include "absl/status/statusor.h"
 #include "rs_bindings_from_cc/cmdline.h"
 #include "rs_bindings_from_cc/collect_namespaces.h"
diff --git a/rs_bindings_from_cc/generate_bindings_and_metadata_test.cc b/rs_bindings_from_cc/generate_bindings_and_metadata_test.cc
index 393fae1..0fc96ad 100644
--- a/rs_bindings_from_cc/generate_bindings_and_metadata_test.cc
+++ b/rs_bindings_from_cc/generate_bindings_and_metadata_test.cc
@@ -5,12 +5,14 @@
 #include "rs_bindings_from_cc/generate_bindings_and_metadata.h"
 
 #include <string>
+#include <utility>
 
 #include "gmock/gmock.h"
 #include "gtest/gtest.h"
-#include "absl/status/status.h"
+#include "absl/container/flat_hash_map.h"
 #include "absl/status/statusor.h"
 #include "absl/strings/string_view.h"
+#include "common/ffi_types.h"
 #include "common/status_macros.h"
 #include "common/test_utils.h"
 #include "rs_bindings_from_cc/cmdline.h"
diff --git a/rs_bindings_from_cc/importer_test.cc b/rs_bindings_from_cc/importer_test.cc
index 7896e71..ddb3601 100644
--- a/rs_bindings_from_cc/importer_test.cc
+++ b/rs_bindings_from_cc/importer_test.cc
@@ -4,18 +4,14 @@
 
 #include <optional>
 #include <string>
-#include <type_traits>
 #include <variant>
 #include <vector>
 
 #include "gmock/gmock.h"
 #include "gtest/gtest.h"
 #include "absl/status/status.h"
-#include "absl/status/statusor.h"
 #include "absl/strings/string_view.h"
-#include "absl/types/span.h"
 #include "common/status_test_matchers.h"
-#include "common/test_utils.h"
 #include "rs_bindings_from_cc/bazel_types.h"
 #include "rs_bindings_from_cc/ir.h"
 #include "rs_bindings_from_cc/ir_from_cc.h"
diff --git a/rs_bindings_from_cc/ir.cc b/rs_bindings_from_cc/ir.cc
index 2179232..410653c 100644
--- a/rs_bindings_from_cc/ir.cc
+++ b/rs_bindings_from_cc/ir.cc
@@ -4,8 +4,6 @@
 
 #include "rs_bindings_from_cc/ir.h"
 
-#include <stdint.h>
-
 #include <optional>
 #include <ostream>
 #include <string>
@@ -14,9 +12,10 @@
 #include <vector>
 
 #include "absl/log/check.h"
+#include "absl/strings/str_cat.h"
 #include "absl/strings/string_view.h"
+#include "common/string_type.h"
 #include "common/strong_int.h"
-#include "rs_bindings_from_cc/bazel_types.h"
 #include "clang/AST/Type.h"
 #include "llvm/Support/JSON.h"
 
diff --git a/rs_bindings_from_cc/ir.h b/rs_bindings_from_cc/ir.h
index 935fe13..938751e 100644
--- a/rs_bindings_from_cc/ir.h
+++ b/rs_bindings_from_cc/ir.h
@@ -13,7 +13,6 @@
 
 #include <stdint.h>
 
-#include <cstddef>
 #include <iomanip>
 #include <optional>
 #include <ostream>
diff --git a/rs_bindings_from_cc/ir_from_cc.cc b/rs_bindings_from_cc/ir_from_cc.cc
index 6e39634..425f637 100644
--- a/rs_bindings_from_cc/ir_from_cc.cc
+++ b/rs_bindings_from_cc/ir_from_cc.cc
@@ -4,6 +4,7 @@
 
 #include "rs_bindings_from_cc/ir_from_cc.h"
 
+#include <cstdint>
 #include <memory>
 #include <string>
 #include <utility>
@@ -18,9 +19,10 @@
 #include "absl/strings/substitute.h"
 #include "absl/types/span.h"
 #include "rs_bindings_from_cc/bazel_types.h"
+#include "rs_bindings_from_cc/decl_importer.h"
 #include "rs_bindings_from_cc/frontend_action.h"
 #include "rs_bindings_from_cc/ir.h"
-#include "clang/Frontend/FrontendAction.h"
+#include "clang/Serialization/PCHContainerOperations.h"
 #include "clang/Tooling/Tooling.h"
 
 namespace crubit {
diff --git a/rs_bindings_from_cc/json_from_cc.cc b/rs_bindings_from_cc/json_from_cc.cc
index 6c2d953..c1a8771 100644
--- a/rs_bindings_from_cc/json_from_cc.cc
+++ b/rs_bindings_from_cc/json_from_cc.cc
@@ -5,13 +5,13 @@
 #include <string>
 
 #include "absl/status/statusor.h"
+#include "absl/strings/string_view.h"
 #include "common/ffi_types.h"
 #include "rs_bindings_from_cc/bazel_types.h"
 #include "rs_bindings_from_cc/ir.h"
 #include "rs_bindings_from_cc/ir_from_cc.h"
 #include "llvm/Support/ErrorHandling.h"
 #include "llvm/Support/FormatVariadic.h"
-#include "llvm/Support/JSON.h"
 
 namespace crubit {
 
diff --git a/rs_bindings_from_cc/rs_bindings_from_cc.cc b/rs_bindings_from_cc/rs_bindings_from_cc.cc
index b6fd721..320d8db 100644
--- a/rs_bindings_from_cc/rs_bindings_from_cc.cc
+++ b/rs_bindings_from_cc/rs_bindings_from_cc.cc
@@ -6,20 +6,23 @@
 // * a Rust source file with bindings for the C++ API
 // * a C++ source file with the implementation of the bindings
 
+#include <cstddef>
 #include <string>
 #include <utility>
 #include <vector>
 
 #include "absl/flags/parse.h"
 #include "absl/status/status.h"
-#include "absl/status/statusor.h"
 #include "absl/strings/string_view.h"
+#include "absl/types/span.h"
 #include "common/file_io.h"
 #include "common/status_macros.h"
 #include "rs_bindings_from_cc/cmdline.h"
 #include "rs_bindings_from_cc/collect_namespaces.h"
 #include "rs_bindings_from_cc/generate_bindings_and_metadata.h"
 #include "rs_bindings_from_cc/ir.h"
+#include "llvm/Support/FormatVariadic.h"
+#include "llvm/Support/JSON.h"
 #include "llvm/Support/raw_ostream.h"
 
 namespace crubit {
diff --git a/rs_bindings_from_cc/src_code_gen.cc b/rs_bindings_from_cc/src_code_gen.cc
index 2d38736..2514293 100644
--- a/rs_bindings_from_cc/src_code_gen.cc
+++ b/rs_bindings_from_cc/src_code_gen.cc
@@ -6,11 +6,12 @@
 
 #include <string>
 
+#include "absl/status/statusor.h"
+#include "absl/strings/string_view.h"
 #include "common/ffi_types.h"
 #include "common/status_macros.h"
 #include "rs_bindings_from_cc/ir.h"
 #include "llvm/Support/FormatVariadic.h"
-#include "llvm/Support/JSON.h"
 
 namespace crubit {
 
diff --git a/rs_bindings_from_cc/type_map.cc b/rs_bindings_from_cc/type_map.cc
index d02853f..d28b598 100644
--- a/rs_bindings_from_cc/type_map.cc
+++ b/rs_bindings_from_cc/type_map.cc
@@ -8,8 +8,7 @@
 #include <string>
 
 #include "absl/container/flat_hash_map.h"
-#include "absl/status/statusor.h"
-#include "common/status_macros.h"
+#include "absl/strings/string_view.h"
 #include "rs_bindings_from_cc/ir.h"
 #include "clang/AST/Type.h"
 
diff --git a/rs_bindings_from_cc/type_map.h b/rs_bindings_from_cc/type_map.h
index fd2c039..6bc6e02 100644
--- a/rs_bindings_from_cc/type_map.h
+++ b/rs_bindings_from_cc/type_map.h
@@ -7,7 +7,6 @@
 
 #include <optional>
 
-#include "absl/strings/string_view.h"
 #include "rs_bindings_from_cc/ir.h"
 #include "clang/AST/Type.h"
 
diff --git a/support/rs_std/rs_char_test.cc b/support/rs_std/rs_char_test.cc
index d08066c..be478cd 100644
--- a/support/rs_std/rs_char_test.cc
+++ b/support/rs_std/rs_char_test.cc
@@ -6,9 +6,9 @@
 
 #include <stdint.h>
 
+#include <optional>
 #include <type_traits>
 
-#include "gmock/gmock.h"
 #include "gtest/gtest.h"
 
 namespace {