Skip to content

Commit 229906f

Browse files
mkruskal-googlecopybara-github
authored andcommitted
Breaking change: Remove deprecated clear APIs on repeated fields
PiperOrigin-RevId: 589920681
1 parent cf2d696 commit 229906f

5 files changed

Lines changed: 0 additions & 64 deletions

File tree

src/google/protobuf/arena_unittest.cc

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -953,20 +953,6 @@ TEST(ArenaTest, AddAllocatedWithReflection) {
953953
}
954954

955955
TEST(ArenaTest, RepeatedPtrFieldAddClearedTest) {
956-
#ifndef PROTOBUF_FUTURE_REMOVE_CLEARED_API
957-
{
958-
PROTOBUF_IGNORE_DEPRECATION_START
959-
RepeatedPtrField<TestAllTypes> repeated_field;
960-
EXPECT_TRUE(repeated_field.empty());
961-
EXPECT_EQ(0, repeated_field.size());
962-
// Ownership is passed to repeated_field.
963-
TestAllTypes* cleared = new TestAllTypes();
964-
repeated_field.AddCleared(cleared);
965-
EXPECT_TRUE(repeated_field.empty());
966-
EXPECT_EQ(0, repeated_field.size());
967-
PROTOBUF_IGNORE_DEPRECATION_STOP
968-
}
969-
#endif // !PROTOBUF_FUTURE_REMOVE_CLEARED_API
970956
{
971957
RepeatedPtrField<TestAllTypes> repeated_field;
972958
EXPECT_TRUE(repeated_field.empty());

src/google/protobuf/port_def.inc

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -159,10 +159,6 @@ static_assert(PROTOBUF_ABSL_MIN(20230125, 3),
159159

160160
#ifdef PROTOBUF_FUTURE_BREAKING_CHANGES
161161

162-
// Used to remove the manipulation of cleared elements in RepeatedPtrField.
163-
// Owner: mkruskal@
164-
#define PROTOBUF_FUTURE_REMOVE_CLEARED_API 1
165-
166162
// Used for descriptor proto extension declarations.
167163
// Owner: shaod@, gberg@
168164
#define PROTOBUF_FUTURE_DESCRIPTOR_EXTENSION_DECL 1

src/google/protobuf/port_undef.inc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,6 @@
8484

8585
#ifdef PROTOBUF_FUTURE_BREAKING_CHANGES
8686
#undef PROTOBUF_FUTURE_BREAKING_CHANGES
87-
#undef PROTOBUF_FUTURE_REMOVE_CLEARED_API
8887
#undef PROTOBUF_FUTURE_DESCRIPTOR_EXTENSION_DECL
8988
#endif
9089

src/google/protobuf/repeated_field_unittest.cc

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1675,19 +1675,6 @@ TEST(RepeatedPtrField, ClearedElements) {
16751675

16761676
field.Clear();
16771677
EXPECT_EQ(field.ClearedCount(), 2);
1678-
#ifndef PROTOBUF_FUTURE_REMOVE_CLEARED_API
1679-
EXPECT_EQ(field.ReleaseCleared(), original); // Take ownership again.
1680-
EXPECT_EQ(field.ClearedCount(), 1);
1681-
EXPECT_NE(field.Add(), original);
1682-
EXPECT_EQ(field.ClearedCount(), 0);
1683-
EXPECT_NE(field.Add(), original);
1684-
EXPECT_EQ(field.ClearedCount(), 0);
1685-
1686-
field.AddCleared(original); // Give ownership back, but as a cleared object.
1687-
EXPECT_EQ(field.ClearedCount(), 1);
1688-
EXPECT_EQ(field.Add(), original);
1689-
EXPECT_EQ(field.ClearedCount(), 0);
1690-
#endif // !PROTOBUF_FUTURE_REMOVE_CLEARED_API
16911678
PROTOBUF_IGNORE_DEPRECATION_STOP
16921679
}
16931680

src/google/protobuf/repeated_ptr_field.h

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1174,26 +1174,6 @@ class RepeatedPtrField final : private internal::RepeatedPtrFieldBase {
11741174
ABSL_DEPRECATED("This will be removed in a future release")
11751175
int ClearedCount() const;
11761176

1177-
#ifndef PROTOBUF_FUTURE_REMOVE_CLEARED_API
1178-
// Adds an element to the pool of cleared objects, passing ownership to
1179-
// the RepeatedPtrField. The element must be cleared prior to calling
1180-
// this method.
1181-
//
1182-
// This method cannot be called when either the repeated field or |value| is
1183-
// on an arena; both cases will trigger a ABSL_DCHECK-failure.
1184-
ABSL_DEPRECATED("This will be removed in a future release")
1185-
void AddCleared(Element* value);
1186-
// Removes and returns a single element from the cleared pool, passing
1187-
// ownership to the caller. The element is guaranteed to be cleared.
1188-
// Requires: ClearedCount() > 0
1189-
//
1190-
// This method cannot be called when the repeated field is on an arena; doing
1191-
// so will trigger a ABSL_DCHECK-failure.
1192-
PROTOBUF_NODISCARD
1193-
ABSL_DEPRECATED("This will be removed in a future release")
1194-
pointer ReleaseCleared();
1195-
#endif // !PROTOBUF_FUTURE_REMOVE_CLEARED_API
1196-
11971177
// Removes the element referenced by position.
11981178
//
11991179
// Returns an iterator to the element immediately following the removed
@@ -1593,18 +1573,6 @@ inline int RepeatedPtrField<Element>::ClearedCount() const {
15931573
return RepeatedPtrFieldBase::ClearedCount();
15941574
}
15951575

1596-
#ifndef PROTOBUF_FUTURE_REMOVE_CLEARED_API
1597-
template <typename Element>
1598-
inline void RepeatedPtrField<Element>::AddCleared(Element* value) {
1599-
return RepeatedPtrFieldBase::AddCleared<TypeHandler>(value);
1600-
}
1601-
1602-
template <typename Element>
1603-
inline Element* RepeatedPtrField<Element>::ReleaseCleared() {
1604-
return RepeatedPtrFieldBase::ReleaseCleared<TypeHandler>();
1605-
}
1606-
#endif // !PROTOBUF_FUTURE_REMOVE_CLEARED_API
1607-
16081576
template <typename Element>
16091577
inline void RepeatedPtrField<Element>::Reserve(int new_size) {
16101578
return RepeatedPtrFieldBase::Reserve(new_size);

0 commit comments

Comments
 (0)