Migrate callers of the RepeatedPtrField(Arena*) constructor to `ArenaSafeUniquePtr`.

PiperOrigin-RevId: 803757833
diff --git a/src/google/protobuf/arena_unittest.cc b/src/google/protobuf/arena_unittest.cc
index ecf7b88..2898df1 100644
--- a/src/google/protobuf/arena_unittest.cc
+++ b/src/google/protobuf/arena_unittest.cc
@@ -1455,25 +1455,26 @@
     // newly allocated memory is approximately the size of the cleanups for the
     // repeated messages.
     RepeatedField<int32_t> repeated_int32(&arena);
-    RepeatedPtrField<TestAllTypes> repeated_message(&arena);
+    auto* repeated_message =
+        Arena::Create<RepeatedPtrField<TestAllTypes>>(&arena);
     for (int i = 0; i < 100; i++) {
       repeated_int32.Add(42);
-      repeated_message.Add()->set_optional_int32(42);
-      EXPECT_EQ(&arena, repeated_message.Get(0).GetArena());
-      const TestAllTypes* msg_in_repeated_field = &repeated_message.Get(0);
-      TestAllTypes* msg = repeated_message.UnsafeArenaReleaseLast();
+      repeated_message->Add()->set_optional_int32(42);
+      EXPECT_EQ(&arena, repeated_message->Get(0).GetArena());
+      const TestAllTypes* msg_in_repeated_field = &repeated_message->Get(0);
+      TestAllTypes* msg = repeated_message->UnsafeArenaReleaseLast();
       EXPECT_EQ(msg_in_repeated_field, msg);
     }
 
     // UnsafeArenaExtractSubrange (i) should not leak and (ii) should return
     // on-arena pointers.
     for (int i = 0; i < 10; i++) {
-      repeated_message.Add()->set_optional_int32(42);
+      repeated_message->Add()->set_optional_int32(42);
     }
     TestAllTypes* extracted_messages[5];
-    repeated_message.UnsafeArenaExtractSubrange(0, 5, extracted_messages);
-    EXPECT_EQ(&arena, repeated_message.Get(0).GetArena());
-    EXPECT_EQ(5, repeated_message.size());
+    repeated_message->UnsafeArenaExtractSubrange(0, 5, extracted_messages);
+    EXPECT_EQ(&arena, repeated_message->Get(0).GetArena());
+    EXPECT_EQ(5, repeated_message->size());
     // Upper bound of the size of the cleanups of new repeated messages.
     const size_t upperbound_cleanup_size =
         2 * 110 * sizeof(internal::cleanup::CleanupNode);
@@ -1483,14 +1484,15 @@
 
   // Now test ExtractSubrange's copying semantics.
   {
-    RepeatedPtrField<TestAllTypes> repeated_message(&arena);
+    auto* repeated_message =
+        Arena::Create<RepeatedPtrField<TestAllTypes>>(&arena);
     for (int i = 0; i < 100; i++) {
-      repeated_message.Add()->set_optional_int32(42);
+      repeated_message->Add()->set_optional_int32(42);
     }
 
     TestAllTypes* extracted_messages[5];
     // ExtractSubrange should copy to the heap.
-    repeated_message.ExtractSubrange(0, 5, extracted_messages);
+    repeated_message->ExtractSubrange(0, 5, extracted_messages);
     EXPECT_EQ(nullptr, extracted_messages[0]->GetArena());
     // We need to free the heap-allocated messages to prevent a leak.
     for (int i = 0; i < 5; i++) {