Internal change.
PiperOrigin-RevId: 584276582
diff --git a/src/google/protobuf/repeated_ptr_field.h b/src/google/protobuf/repeated_ptr_field.h
index 7a57dfe..07b165b 100644
--- a/src/google/protobuf/repeated_ptr_field.h
+++ b/src/google/protobuf/repeated_ptr_field.h
@@ -113,15 +113,10 @@
type;
};
-template <typename T, typename = void>
-struct TypeImplementsMergeBehavior
- : TypeImplementsMergeBehaviorProbeForMergeFrom<T> {};
-
-
-template <>
-struct TypeImplementsMergeBehavior<std::string> {
- typedef std::true_type type;
-};
+template <typename T>
+using TypeImplementsMergeBehavior =
+ absl::disjunction<std::is_same<T, std::string>,
+ TypeImplementsMergeBehaviorProbeForMergeFrom<T>>;
template <typename T>
struct IsMovable