Updating CHANGES.txt and removing all instances of std::is_pod
This commit is contained in:
parent
af95001202
commit
62fb6ddfce
26
CHANGES.txt
26
CHANGES.txt
@ -12,6 +12,22 @@ Unreleased Changes (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
|
||||
implementation detail users must not rely on. It should not be used in
|
||||
unit tests.
|
||||
* Change the signature of Any::PackFrom() to return false on error.
|
||||
* Add fast reflection getter API for strings.
|
||||
* Constant initialize the global message instances
|
||||
* Avoid potential for missed wakeup in UnknownFieldSet
|
||||
* Now Proto3 Oneof fields have "has" methods for checking their presence in
|
||||
C++.
|
||||
* Bugfix for NVCC
|
||||
* Return early in _InternalSerialize for empty maps.
|
||||
* Adding functionality for outputting map key values in proto path logging
|
||||
output (does not affect comparison logic) and stop printing 'value' in the
|
||||
path. The modified print functionality is in the
|
||||
MessageDifferencer::StreamReporter.
|
||||
* Fixes https://github.com/protocolbuffers/protobuf/issues/8129
|
||||
* Ensure that null char symbol, package and file names do not result in a
|
||||
crash.
|
||||
* Constant initialize the global message instances
|
||||
* Pretty print 'max' instead of numeric values in reserved ranges.
|
||||
|
||||
Java
|
||||
* Avoid possible UnsupportedOperationException when using CodedInputSteam
|
||||
@ -19,10 +35,20 @@ Unreleased Changes (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
|
||||
* Make Durations.comparator() and Timestamps.comparator() Serializable.
|
||||
* Add more detailed error information for dynamic message field type
|
||||
validation failure
|
||||
* Removed declarations of functions declared in java_names.h from
|
||||
java_helpers.h.
|
||||
* Now Proto3 Oneof fields have "has" methods for checking their presence in
|
||||
Java.
|
||||
* Annotates Java proto generated *_FIELD_NUMBER constants.
|
||||
|
||||
Python
|
||||
* Provided an override for the reverse() method that will reverse the internal
|
||||
collection directly instead of using the other methods of the BaseContainer.
|
||||
* MessageFactory.CreateProtoype can be overridden to customize class creation.
|
||||
|
||||
Javascript
|
||||
* Generate `getDescriptor` methods with `*` as their `this` type.
|
||||
* Enforce `let/const` for generated messages.
|
||||
|
||||
2020-11-11 version 3.14.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
|
||||
|
||||
|
@ -327,7 +327,7 @@ class PROTOBUF_EXPORT PROTOBUF_ALIGNAS(8) Arena final {
|
||||
template <typename T>
|
||||
PROTOBUF_NDEBUG_INLINE static T* CreateArray(Arena* arena,
|
||||
size_t num_elements) {
|
||||
static_assert(std::is_pod<T>::value,
|
||||
static_assert(std::is_standard_layout<T>::value && std::is_trivial<T>::value,
|
||||
"CreateArray requires a trivially constructible type");
|
||||
static_assert(std::is_trivially_destructible<T>::value,
|
||||
"CreateArray requires a trivially destructible type");
|
||||
|
@ -104,7 +104,7 @@ inline std::string* AddField<std::string>(MessageLite* msg, int64 offset) {
|
||||
|
||||
template <typename Type>
|
||||
inline void AddField(MessageLite* msg, int64 offset, Type value) {
|
||||
static_assert(std::is_pod<Type>::value,
|
||||
static_assert(std::is_standard_layout<Type>::value && std::is_trivial<Type>::value,
|
||||
"Do not assign");
|
||||
*AddField<Type>(msg, offset) = value;
|
||||
}
|
||||
@ -126,7 +126,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_pod<Type>::value,
|
||||
static_assert(std::is_standard_layout<Type>::value && std::is_trivial<Type>::value,
|
||||
"Do not assign");
|
||||
*MutableField<Type>(msg, has_bits, has_bit_index, offset) = value;
|
||||
}
|
||||
|
@ -501,7 +501,7 @@ namespace internal {
|
||||
// effectively.
|
||||
template <typename Element,
|
||||
bool HasTrivialCopy =
|
||||
std::is_pod<Element>::value>
|
||||
std::is_standard_layout<Element>::value && std::is_trivialElement>::value>
|
||||
struct ElementCopier {
|
||||
void operator()(Element* to, const Element* from, int array_size);
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user