Internal cleanup

PiperOrigin-RevId: 937474878
Change-Id: I21555a40d99dfee85fc9b5ba6a0e297a15265c2b
diff --git a/absl/functional/BUILD.bazel b/absl/functional/BUILD.bazel
index d61eef6..0013f47 100644
--- a/absl/functional/BUILD.bazel
+++ b/absl/functional/BUILD.bazel
@@ -56,6 +56,8 @@
         "any_invocable_test.h",
         "any_invocable_test_inst1.cc",
         "any_invocable_test_inst2.cc",
+        "any_invocable_test_inst3.cc",
+        "any_invocable_test_inst4.cc",
         "internal/any_invocable.h",
     ],
     copts = ABSL_TEST_COPTS,
diff --git a/absl/functional/CMakeLists.txt b/absl/functional/CMakeLists.txt
index 03a7596..7780174 100644
--- a/absl/functional/CMakeLists.txt
+++ b/absl/functional/CMakeLists.txt
@@ -39,6 +39,8 @@
     "any_invocable_test.h"
     "any_invocable_test_inst1.cc"
     "any_invocable_test_inst2.cc"
+    "any_invocable_test_inst3.cc"
+    "any_invocable_test_inst4.cc"
   COPTS
     ${ABSL_TEST_COPTS}
   DEPS
diff --git a/absl/functional/any_invocable_test.h b/absl/functional/any_invocable_test.h
index 868ac88..689c510 100644
--- a/absl/functional/any_invocable_test.h
+++ b/absl/functional/any_invocable_test.h
@@ -14,8 +14,9 @@
 
 // To prevent compiler memory exhaustion (OOM / Killed signal terminates
 // cc1plus) during parallel builds with GCC, the test suite instantiations have
-// been split into two separate compilation units: any_invocable_test_inst1.cc
-// and any_invocable_test_inst2.cc. The test definitions remain here in this
+// been split into four separate compilation units: any_invocable_test_inst1.cc,
+// any_invocable_test_inst2.cc, any_invocable_test_inst3.cc, and
+// any_invocable_test_inst4.cc. The test definitions remain here in this
 // header.
 
 // SKIP_ABSL_INLINE_NAMESPACE_CHECK
diff --git a/absl/functional/any_invocable_test_inst1.cc b/absl/functional/any_invocable_test_inst1.cc
index a15722a..68a5955 100644
--- a/absl/functional/any_invocable_test_inst1.cc
+++ b/absl/functional/any_invocable_test_inst1.cc
@@ -14,8 +14,7 @@
 
 // To prevent compiler memory exhaustion (OOM / Killed signal terminates
 // cc1plus) during parallel builds with GCC, the test suite instantiations have
-// been split into two separate compilation units: any_invocable_test_inst1.cc
-// and any_invocable_test_inst2.cc.
+// been split into multiple compilation units.
 
 // SKIP_ABSL_INLINE_NAMESPACE_CHECK
 
@@ -30,17 +29,6 @@
 INSTANTIATE_TYPED_TEST_SUITE_P(RvalueCallMayThrow, AnyInvTestBasic,
                                TestParameterListRvalueQualifiersCallMayThrow);
 
-INSTANTIATE_TYPED_TEST_SUITE_P(RemoteNonMovable, AnyInvTestBasic,
-                               TestParameterListRemoteNonMovable);
-
-INSTANTIATE_TYPED_TEST_SUITE_P(Local, AnyInvTestBasic, TestParameterListLocal);
-
-INSTANTIATE_TYPED_TEST_SUITE_P(NonRvalueCallNothrow, AnyInvTestBasic,
-                               TestParameterListNonRvalueQualifiersNothrowCall);
-
-INSTANTIATE_TYPED_TEST_SUITE_P(CallNothrowRvalue, AnyInvTestBasic,
-                               TestParameterListRvalueQualifiersNothrowCall);
-
 INSTANTIATE_TYPED_TEST_SUITE_P(
     NonRvalueCallMayThrow, AnyInvTestCombinatoric,
     TestParameterListNonRvalueQualifiersCallMayThrow);
@@ -48,18 +36,6 @@
 INSTANTIATE_TYPED_TEST_SUITE_P(RvalueCallMayThrow, AnyInvTestCombinatoric,
                                TestParameterListRvalueQualifiersCallMayThrow);
 
-INSTANTIATE_TYPED_TEST_SUITE_P(RemoteNonMovable, AnyInvTestCombinatoric,
-                               TestParameterListRemoteNonMovable);
-
-INSTANTIATE_TYPED_TEST_SUITE_P(Local, AnyInvTestCombinatoric,
-                               TestParameterListLocal);
-
-INSTANTIATE_TYPED_TEST_SUITE_P(NonRvalueCallNothrow, AnyInvTestCombinatoric,
-                               TestParameterListNonRvalueQualifiersNothrowCall);
-
-INSTANTIATE_TYPED_TEST_SUITE_P(RvalueCallNothrow, AnyInvTestCombinatoric,
-                               TestParameterListRvalueQualifiersNothrowCall);
-
 INSTANTIATE_TYPED_TEST_SUITE_P(
     NonRvalueCallMayThrow, AnyInvTestMovable,
     TestParameterListNonRvalueQualifiersCallMayThrow);
@@ -67,15 +43,6 @@
 INSTANTIATE_TYPED_TEST_SUITE_P(RvalueCallMayThrow, AnyInvTestMovable,
                                TestParameterListRvalueQualifiersCallMayThrow);
 
-INSTANTIATE_TYPED_TEST_SUITE_P(Local, AnyInvTestMovable,
-                               TestParameterListLocal);
-
-INSTANTIATE_TYPED_TEST_SUITE_P(NonRvalueCallNothrow, AnyInvTestMovable,
-                               TestParameterListNonRvalueQualifiersNothrowCall);
-
-INSTANTIATE_TYPED_TEST_SUITE_P(RvalueCallNothrow, AnyInvTestMovable,
-                               TestParameterListRvalueQualifiersNothrowCall);
-
 INSTANTIATE_TYPED_TEST_SUITE_P(
     NonRvalueCallMayThrow, AnyInvTestNoexceptFalse,
     TestParameterListNonRvalueQualifiersCallMayThrow);
@@ -83,35 +50,11 @@
 INSTANTIATE_TYPED_TEST_SUITE_P(RvalueCallMayThrow, AnyInvTestNoexceptFalse,
                                TestParameterListRvalueQualifiersCallMayThrow);
 
-INSTANTIATE_TYPED_TEST_SUITE_P(RemoteNonMovable, AnyInvTestNoexceptFalse,
-                               TestParameterListRemoteNonMovable);
-
-INSTANTIATE_TYPED_TEST_SUITE_P(Local, AnyInvTestNoexceptFalse,
-                               TestParameterListLocal);
-
-INSTANTIATE_TYPED_TEST_SUITE_P(NonRvalueCallNothrow, AnyInvTestNoexceptTrue,
-                               TestParameterListNonRvalueQualifiersNothrowCall);
-
-INSTANTIATE_TYPED_TEST_SUITE_P(RvalueCallNothrow, AnyInvTestNoexceptTrue,
-                               TestParameterListRvalueQualifiersNothrowCall);
-
 INSTANTIATE_TYPED_TEST_SUITE_P(
     NonRvalueCallMayThrow, AnyInvTestNonRvalue,
     TestParameterListNonRvalueQualifiersCallMayThrow);
 
-INSTANTIATE_TYPED_TEST_SUITE_P(RemoteNonMovable, AnyInvTestNonRvalue,
-                               TestParameterListRemoteNonMovable);
-
-INSTANTIATE_TYPED_TEST_SUITE_P(Local, AnyInvTestNonRvalue,
-                               TestParameterListLocal);
-
-INSTANTIATE_TYPED_TEST_SUITE_P(NonRvalueCallNothrow, AnyInvTestNonRvalue,
-                               TestParameterListNonRvalueQualifiersNothrowCall);
-
 INSTANTIATE_TYPED_TEST_SUITE_P(RvalueCallMayThrow, AnyInvTestRvalue,
                                TestParameterListRvalueQualifiersCallMayThrow);
 
-INSTANTIATE_TYPED_TEST_SUITE_P(CallNothrowRvalue, AnyInvTestRvalue,
-                               TestParameterListRvalueQualifiersNothrowCall);
-
 }  // namespace absl_any_invocable_test
diff --git a/absl/functional/any_invocable_test_inst2.cc b/absl/functional/any_invocable_test_inst2.cc
index 366e1d2..5b5f22a 100644
--- a/absl/functional/any_invocable_test_inst2.cc
+++ b/absl/functional/any_invocable_test_inst2.cc
@@ -14,8 +14,7 @@
 
 // To prevent compiler memory exhaustion (OOM / Killed signal terminates
 // cc1plus) during parallel builds with GCC, the test suite instantiations have
-// been split into two separate compilation units: any_invocable_test_inst1.cc
-// and any_invocable_test_inst2.cc.
+// been split into multiple compilation units.
 
 // SKIP_ABSL_INLINE_NAMESPACE_CHECK
 
diff --git a/absl/functional/any_invocable_test_inst3.cc b/absl/functional/any_invocable_test_inst3.cc
new file mode 100644
index 0000000..ba23e63
--- /dev/null
+++ b/absl/functional/any_invocable_test_inst3.cc
@@ -0,0 +1,55 @@
+// Copyright 2022 The Abseil Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// To prevent compiler memory exhaustion (OOM / Killed signal terminates
+// cc1plus) during parallel builds with GCC, the test suite instantiations have
+// been split into multiple compilation units.
+
+// SKIP_ABSL_INLINE_NAMESPACE_CHECK
+
+#include "absl/functional/any_invocable_test.h"
+
+namespace absl_any_invocable_test {
+
+INSTANTIATE_TYPED_TEST_SUITE_P(NonRvalueCallNothrow, AnyInvTestBasic,
+                               TestParameterListNonRvalueQualifiersNothrowCall);
+
+INSTANTIATE_TYPED_TEST_SUITE_P(CallNothrowRvalue, AnyInvTestBasic,
+                               TestParameterListRvalueQualifiersNothrowCall);
+
+INSTANTIATE_TYPED_TEST_SUITE_P(NonRvalueCallNothrow, AnyInvTestCombinatoric,
+                               TestParameterListNonRvalueQualifiersNothrowCall);
+
+INSTANTIATE_TYPED_TEST_SUITE_P(RvalueCallNothrow, AnyInvTestCombinatoric,
+                               TestParameterListRvalueQualifiersNothrowCall);
+
+INSTANTIATE_TYPED_TEST_SUITE_P(NonRvalueCallNothrow, AnyInvTestMovable,
+                               TestParameterListNonRvalueQualifiersNothrowCall);
+
+INSTANTIATE_TYPED_TEST_SUITE_P(RvalueCallNothrow, AnyInvTestMovable,
+                               TestParameterListRvalueQualifiersNothrowCall);
+
+INSTANTIATE_TYPED_TEST_SUITE_P(NonRvalueCallNothrow, AnyInvTestNoexceptTrue,
+                               TestParameterListNonRvalueQualifiersNothrowCall);
+
+INSTANTIATE_TYPED_TEST_SUITE_P(RvalueCallNothrow, AnyInvTestNoexceptTrue,
+                               TestParameterListRvalueQualifiersNothrowCall);
+
+INSTANTIATE_TYPED_TEST_SUITE_P(NonRvalueCallNothrow, AnyInvTestNonRvalue,
+                               TestParameterListNonRvalueQualifiersNothrowCall);
+
+INSTANTIATE_TYPED_TEST_SUITE_P(CallNothrowRvalue, AnyInvTestRvalue,
+                               TestParameterListRvalueQualifiersNothrowCall);
+
+}  // namespace absl_any_invocable_test
diff --git a/absl/functional/any_invocable_test_inst4.cc b/absl/functional/any_invocable_test_inst4.cc
new file mode 100644
index 0000000..0549a1e
--- /dev/null
+++ b/absl/functional/any_invocable_test_inst4.cc
@@ -0,0 +1,51 @@
+// Copyright 2022 The Abseil Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// To prevent compiler memory exhaustion (OOM / Killed signal terminates
+// cc1plus) during parallel builds with GCC, the test suite instantiations have
+// been split into multiple compilation units.
+
+// SKIP_ABSL_INLINE_NAMESPACE_CHECK
+
+#include "absl/functional/any_invocable_test.h"
+
+namespace absl_any_invocable_test {
+
+INSTANTIATE_TYPED_TEST_SUITE_P(RemoteNonMovable, AnyInvTestBasic,
+                               TestParameterListRemoteNonMovable);
+
+INSTANTIATE_TYPED_TEST_SUITE_P(Local, AnyInvTestBasic, TestParameterListLocal);
+
+INSTANTIATE_TYPED_TEST_SUITE_P(RemoteNonMovable, AnyInvTestCombinatoric,
+                               TestParameterListRemoteNonMovable);
+
+INSTANTIATE_TYPED_TEST_SUITE_P(Local, AnyInvTestCombinatoric,
+                               TestParameterListLocal);
+
+INSTANTIATE_TYPED_TEST_SUITE_P(Local, AnyInvTestMovable,
+                               TestParameterListLocal);
+
+INSTANTIATE_TYPED_TEST_SUITE_P(RemoteNonMovable, AnyInvTestNoexceptFalse,
+                               TestParameterListRemoteNonMovable);
+
+INSTANTIATE_TYPED_TEST_SUITE_P(Local, AnyInvTestNoexceptFalse,
+                               TestParameterListLocal);
+
+INSTANTIATE_TYPED_TEST_SUITE_P(RemoteNonMovable, AnyInvTestNonRvalue,
+                               TestParameterListRemoteNonMovable);
+
+INSTANTIATE_TYPED_TEST_SUITE_P(Local, AnyInvTestNonRvalue,
+                               TestParameterListLocal);
+
+}  // namespace absl_any_invocable_test