From 8a1d02626fb206c656564fbd9837029ba09b69eb Mon Sep 17 00:00:00 2001 From: "M. Tong" Date: Fri, 6 Jul 2018 13:31:46 +0800 Subject: Fix SFINAE in 'RepeatedPtrFieldBase::Add' Without this the error of un-moveable GenericTypeHandler will pop until 'TypeHandler::New(arena_, std::move(value))' is called. --- src/google/protobuf/repeated_field.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/google/protobuf/repeated_field.h b/src/google/protobuf/repeated_field.h index fbfbf942..79682b69 100644 --- a/src/google/protobuf/repeated_field.h +++ b/src/google/protobuf/repeated_field.h @@ -466,7 +466,7 @@ class LIBPROTOBUF_EXPORT RepeatedPtrFieldBase { protected: template void Add(typename TypeHandler::Type&& value, - std::enable_if* dummy = NULL); + typename std::enable_if::type* dummy = NULL); template void RemoveLast(); @@ -1541,7 +1541,7 @@ inline typename TypeHandler::Type* RepeatedPtrFieldBase::Add( template inline void RepeatedPtrFieldBase::Add( typename TypeHandler::Type&& value, - std::enable_if*) { + typename std::enable_if::type*) { if (rep_ != NULL && current_size_ < rep_->allocated_size) { *cast(rep_->elements[current_size_++]) = std::move(value); return; -- cgit v1.2.3