)]}'
{
  "commit": "9c13a254a34db6a64c500ac6e9e936faf2f0c408",
  "tree": "868a8d0fd197717a537803dc8864414c3f308c47",
  "parents": [
    "df5490ffe4f092e6dd6fb53cf41c39d21fbc1066"
  ],
  "author": {
    "name": "Protobuf Team Bot",
    "email": "protobuf-github-bot@google.com",
    "time": "Thu Sep 10 06:01:41 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Thu Sep 10 06:10:17 2026 -0700"
  },
  "message": "Clear message on parse error in Protobuf Rust clear_and_parse\n\nAlthough the intent of the underlying kernels is that in the event of a parse-failure the underlying objects are left in an arbitrary legal state (corresponding to moved-from state in C++), clearing the message in the case of a parse-failure hardens against the underlying kernels leaving something in an invalid state.\n\nPiperOrigin-RevId: 979138369\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e1f1f331d9c1652546658c047a80e62f378b344b",
      "old_mode": 33188,
      "old_path": "rust/cpp_kernel/message.rs",
      "new_id": "856a24e9ba7e82fa19414bf2ce746f15fc3dce3e",
      "new_mode": 33188,
      "new_path": "rust/cpp_kernel/message.rs"
    },
    {
      "type": "modify",
      "old_id": "e59c957b0e979a109b7c3366324a717b62db7508",
      "old_mode": 33188,
      "old_path": "rust/test/shared/serialization_test.rs",
      "new_id": "43edc189b746282d2afc8a4dda0d4cd1f6c7b5b5",
      "new_mode": 33188,
      "new_path": "rust/test/shared/serialization_test.rs"
    },
    {
      "type": "modify",
      "old_id": "0e8083952fce23b8535bd8667ef702865c25ff10",
      "old_mode": 33188,
      "old_path": "rust/upb_kernel/message.rs",
      "new_id": "7ec22bf752ed075a0245832e13f0e14cda08e4b9",
      "new_mode": 33188,
      "new_path": "rust/upb_kernel/message.rs"
    }
  ]
}
