From 913f7b0c6d3c3e9876aea913b0d83bbd7fffe22c Mon Sep 17 00:00:00 2001 From: Protobuf Team Bot Date: Fri, 20 Dec 2024 15:09:32 -0800 Subject: [PATCH] Breaking change: Remove `MutableRepeatedFieldRef::Reserve()` in reflection (roll forward) An upcoming performance improvement in RepeatedPtrField is incompatible with this API. The improvement is projected to accelerate repeated access to the elements of `RepeatedPtrField`, in particular and especially sequential access. PA: https://protobuf.dev/news/2024-12-13/ PiperOrigin-RevId: 708439051 --- src/google/protobuf/reflection.h | 9 --------- src/google/protobuf/reflection_internal.h | 11 ----------- .../protobuf/repeated_field_reflection_unittest.inc | 6 ------ 3 files changed, 26 deletions(-) diff --git a/src/google/protobuf/reflection.h b/src/google/protobuf/reflection.h index 9b5208c554482..d8aa64e9456b6 100644 --- a/src/google/protobuf/reflection.h +++ b/src/google/protobuf/reflection.h @@ -97,9 +97,6 @@ class MutableRepeatedFieldRef< } void Add(const T& value) const { accessor_->template Add(data_, value); } void RemoveLast() const { accessor_->RemoveLast(data_); } - // TODO: Remove. - ABSL_DEPRECATED("Do not use. Will be removed in a future release.") - void Reserve(int size) const { accessor_->Reserve(data_, size); } void SwapElements(int index1, int index2) const { accessor_->SwapElements(data_, index1, index2); } @@ -218,9 +215,6 @@ class MutableRepeatedFieldRef< } void Add(const T& value) const { accessor_->Add(data_, &value); } void RemoveLast() const { accessor_->RemoveLast(data_); } - // TODO: Remove. - ABSL_DEPRECATED("Do not use. Will be removed in a future release.") - void Reserve(int size) const { accessor_->Reserve(data_, size); } void SwapElements(int index1, int index2) const { accessor_->SwapElements(data_, index1, index2); } @@ -308,9 +302,6 @@ class PROTOBUF_EXPORT RepeatedFieldAccessor { virtual void Set(Field* data, int index, const Value* value) const = 0; virtual void Add(Field* data, const Value* value) const = 0; virtual void RemoveLast(Field* data) const = 0; - // TODO: Remove. - ABSL_DEPRECATED("Do not use. Will be removed in a future release.") - virtual void Reserve(Field* data, int size) const = 0; virtual void SwapElements(Field* data, int index1, int index2) const = 0; virtual void Swap(Field* data, const RepeatedFieldAccessor* other_mutator, Field* other_data) const = 0; diff --git a/src/google/protobuf/reflection_internal.h b/src/google/protobuf/reflection_internal.h index 4ae8d34cfae37..be27ec733749c 100644 --- a/src/google/protobuf/reflection_internal.h +++ b/src/google/protobuf/reflection_internal.h @@ -93,10 +93,6 @@ class RepeatedFieldWrapper : public RandomAccessRepeatedFieldAccessor { void RemoveLast(Field* data) const override { MutableRepeatedField(data)->RemoveLast(); } - // TODO: Remove. - void Reserve(Field* data, int size) const override { - MutableRepeatedField(data)->Reserve(size); - } void SwapElements(Field* data, int index1, int index2) const override { MutableRepeatedField(data)->SwapElements(index1, index2); } @@ -153,10 +149,6 @@ class RepeatedPtrFieldWrapper : public RandomAccessRepeatedFieldAccessor { void RemoveLast(Field* data) const override { MutableRepeatedField(data)->RemoveLast(); } - // TODO: Remove. - void Reserve(Field* data, int size) const override { - MutableRepeatedField(data)->Reserve(size); - } void SwapElements(Field* data, int index1, int index2) const override { MutableRepeatedField(data)->SwapElements(index1, index2); } @@ -220,9 +212,6 @@ class MapFieldAccessor final : public RandomAccessRepeatedFieldAccessor { void RemoveLast(Field* data) const override { MutableRepeatedField(data)->RemoveLast(); } - void Reserve(Field* data, int size) const override { - MutableRepeatedField(data)->Reserve(size); - } void SwapElements(Field* data, int index1, int index2) const override { MutableRepeatedField(data)->SwapElements(index1, index2); } diff --git a/src/google/protobuf/repeated_field_reflection_unittest.inc b/src/google/protobuf/repeated_field_reflection_unittest.inc index cb9b09c90a4a3..2f6ff2b121f68 100644 --- a/src/google/protobuf/repeated_field_reflection_unittest.inc +++ b/src/google/protobuf/repeated_field_reflection_unittest.inc @@ -339,12 +339,6 @@ TEST(REFLECTION_TEST, RepeatedFieldRefForRegularFields) { } EXPECT_EQ(10, index); - // Test MutableRepeatedFieldRef::Reserve() - mrf_int32.Reserve(mrf_int32.size() + 1); - mrf_double.Reserve(mrf_double.size() + 1); - mrf_string.Reserve(mrf_string.size() + 1); - mrf_foreign_message.Reserve(mrf_foreign_message.size() + 1); - // Test MutableRepeatedFieldRef::Add() mrf_int32.Add(1234); mrf_double.Add(1234.0);