)]}'
{
  "commit": "f9306545181f56dee85e550be4af73141eeb8a80",
  "tree": "ce5d6bb9a960cc4c833451e72b475d66067f646d",
  "parents": [
    "53bc98a9f44615f80be020a745c2c6686fec233c"
  ],
  "author": {
    "name": "Clayton Knittel",
    "email": "cknittel@google.com",
    "time": "Tue Aug 18 08:30:19 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Tue Aug 18 08:34:15 2026 -0700"
  },
  "message": "Check consistency of ClassData types of RepeatedPtrField members in the destructor.\n\nThe repeated field destructor caches the element destructor and calls it on each element of a repeated field, rather than going through full dynamic dispatch for each element. Currently, if the elements of a repeated field are of different types, this code may segfault in non-obvious ways (e.g. mismatch size-delete, or memory corruption). The DCHECK gives a better error message when you have repeated fields of mixed element types.\n\nThis code is only active with `enable_custom_vtable`.\n\nPiperOrigin-RevId: 966610091\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "806aab2ddb1e20d5f9340cd3f8c170d89d793d5f",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/class_data.h",
      "new_id": "8fed1bea71b22a969701604be543c7445e4d30e8",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/class_data.h"
    },
    {
      "type": "modify",
      "old_id": "755b2a991b1aa39b03dec5cd47a08ec7b2f7f7b1",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/message_lite.cc",
      "new_id": "23f810fb30ed7ed4e95913fa63eadaf60409d668",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/message_lite.cc"
    },
    {
      "type": "modify",
      "old_id": "9a963010ee9de4886aa1e7f28cb38bfec1c9e669",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/repeated_ptr_field.cc",
      "new_id": "3915804f52a8d360c677c8cfd818eaba3cc97c03",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/repeated_ptr_field.cc"
    },
    {
      "type": "modify",
      "old_id": "87e179f0ffc859b50ef959a058b84df1f1cc8a81",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/repeated_ptr_field_unittest.cc",
      "new_id": "2f3a62b69441c4af37fac30b90f9d4c8abce291b",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/repeated_ptr_field_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "3679a090665b8c2d0bf5ab5ab642dc708e6169a4",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/type_id.h",
      "new_id": "5dd556124244764ae331fe9b43706c5403ed7352",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/type_id.h"
    }
  ]
}
