aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/google/protobuf/arena.h2
-rw-r--r--src/google/protobuf/generated_message_table_driven_lite.h6
-rw-r--r--src/google/protobuf/repeated_field.h2
3 files changed, 5 insertions, 5 deletions
diff --git a/src/google/protobuf/arena.h b/src/google/protobuf/arena.h
index f286ada8..9928c8e6 100644
--- a/src/google/protobuf/arena.h
+++ b/src/google/protobuf/arena.h
@@ -333,7 +333,7 @@ class LIBPROTOBUF_EXPORT Arena {
template <typename T>
GOOGLE_PROTOBUF_ATTRIBUTE_ALWAYS_INLINE static T* CreateArray(
Arena* arena, size_t num_elements) {
- static_assert(std::is_trivially_default_constructible<T>::value,
+ static_assert(std::is_pod<T>::value,
"CreateArray requires a trivially constructible type");
static_assert(std::is_trivially_destructible<T>::value,
"CreateArray requires a trivially destructible type");
diff --git a/src/google/protobuf/generated_message_table_driven_lite.h b/src/google/protobuf/generated_message_table_driven_lite.h
index b2c60968..0d90fe33 100644
--- a/src/google/protobuf/generated_message_table_driven_lite.h
+++ b/src/google/protobuf/generated_message_table_driven_lite.h
@@ -100,7 +100,7 @@ inline ExtensionSet* GetExtensionSet(MessageLite* msg, int64 extension_offset) {
template <typename Type>
inline Type* AddField(MessageLite* msg, int64 offset) {
- static_assert(std::is_trivially_copy_assignable<Type>::value ||
+ static_assert(std::is_pod<Type>::value ||
std::is_same<Type, InlinedStringField>::value,
"Do not assign");
@@ -119,7 +119,7 @@ inline string* AddField<string>(MessageLite* msg, int64 offset) {
template <typename Type>
inline void AddField(MessageLite* msg, int64 offset, Type value) {
- static_assert(std::is_trivially_copy_assignable<Type>::value,
+ static_assert(std::is_pod<Type>::value,
"Do not assign");
*AddField<Type>(msg, offset) = value;
}
@@ -141,7 +141,7 @@ inline Type* MutableField(MessageLite* msg, uint32* has_bits,
template <typename Type>
inline void SetField(MessageLite* msg, uint32* has_bits, uint32 has_bit_index,
int64 offset, Type value) {
- static_assert(std::is_trivially_copy_assignable<Type>::value,
+ static_assert(std::is_pod<Type>::value,
"Do not assign");
*MutableField<Type>(msg, has_bits, has_bit_index, offset) = value;
}
diff --git a/src/google/protobuf/repeated_field.h b/src/google/protobuf/repeated_field.h
index 80820c7a..b47ea994 100644
--- a/src/google/protobuf/repeated_field.h
+++ b/src/google/protobuf/repeated_field.h
@@ -351,7 +351,7 @@ namespace internal {
// effectively.
template <typename Element,
bool HasTrivialCopy =
- std::is_trivially_copy_constructible<Element>::value>
+ std::is_pod<Element>::value>
struct ElementCopier {
void operator()(Element* to, const Element* from, int array_size);
};