Add `DCHECK` that `RepeatedPtrField` `Arenas` match their containing message's in the TcParser.

PiperOrigin-RevId: 805439754
diff --git a/src/google/protobuf/generated_message_tctable_lite.cc b/src/google/protobuf/generated_message_tctable_lite.cc
index 7945cdc..fdf80ce 100644
--- a/src/google/protobuf/generated_message_tctable_lite.cc
+++ b/src/google/protobuf/generated_message_tctable_lite.cc
@@ -729,6 +729,7 @@
   const auto expected_tag = UnalignedLoad<TagType>(ptr);
   const auto aux = *table->field_aux(data.aux_idx());
   auto& field = RefAt<RepeatedPtrFieldBase>(msg, data.offset());
+  ABSL_DCHECK_EQ(field.GetArena(), msg->GetArena());
   const TcParseTableBase* inner_table =
       aux_is_table ? aux.table : aux.message_default()->GetTcParseTable();
   do {
@@ -1797,6 +1798,7 @@
   SetCachedHasBitForRepeated(hasbits, data.hasbit_idx());
   const auto expected_tag = UnalignedLoad<TagType>(ptr);
   auto& field = RefAt<FieldType>(msg, data.offset());
+  ABSL_DCHECK_EQ(field.GetArena(), msg->GetArena());
 
   const auto validate_last_string = [expected_tag, table, &field] {
     switch (utf8) {
@@ -2740,6 +2742,7 @@
   RepeatedPtrFieldBase& field =
       MaybeCreateRepeatedRefAt<RepeatedPtrFieldBase, is_split>(
           base, entry.offset, msg);
+  ABSL_DCHECK_EQ(field.GetArena(), msg->GetArena());
   const TcParseTableBase* inner_table =
       GetTableFromAux(type_card, *table->field_aux(&entry));