)]}'
{
  "commit": "470da96b01bd69a175feb3f786c3b34bb7eaa7ad",
  "tree": "fb2460dfc89b2aa37771f0870fe1e64cdaaa2331",
  "parents": [
    "cf09d8e810471ede3459214fe9b8e0f422f5404b"
  ],
  "author": {
    "name": "apaseltiner",
    "email": "apaseltiner@google.com",
    "time": "Wed Sep 09 05:46:46 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Wed Sep 09 05:47:43 2026 -0700"
  },
  "message": "Replace ParameterizedMember implementation with std::variant\n\nBy introducing a new InnerList struct. This facilitates the introduction of GetIfItem and GetIfInnerList methods that directly return a pointer to either the ParameterizedItem or the InnerList, respectively, and makes it so that the ParameterizedMember class\u0027s invariants are automatically upheld, as compared to the previously fragile member/member_is_inner_list/params fields.\n\nAll users of those fields have been migrated to the GetWithParamsIf* methods, which are retained but deprecated; callers will be migrated to GetIfItem and GetIfInnerList, after which the GetWithParamsIf* methods will be removed.\n\nThe new Inner list type is a struct, rather than a class, as it is effectively a trivial analogue of std::pair with nicer field names.\n\nThis contains no intentional observable behavioral differences.\n\nPiperOrigin-RevId: 978493551\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b0ca2880cd02079e7b88bd8d4f6729ef807cb96b",
      "old_mode": 33188,
      "old_path": "quiche/common/structured_headers.cc",
      "new_id": "78b7dfea6eb8c493be2bf8b1982549524b2ec34d",
      "new_mode": 33188,
      "new_path": "quiche/common/structured_headers.cc"
    },
    {
      "type": "modify",
      "old_id": "0ee810a61bebd3b46bd4f0e6603b5806753ffc40",
      "old_mode": 33188,
      "old_path": "quiche/common/structured_headers.h",
      "new_id": "efb9a2a917ab3af0c44b12b619a224a99166e13f",
      "new_mode": 33188,
      "new_path": "quiche/common/structured_headers.h"
    },
    {
      "type": "modify",
      "old_id": "a139ac692f2bc0b03ad5b707b9b3ba1832ba8026",
      "old_mode": 33188,
      "old_path": "quiche/common/structured_headers_test.cc",
      "new_id": "d2cfc7f8453ff4e3ee3aa7c4d391d57752af7c67",
      "new_mode": 33188,
      "new_path": "quiche/common/structured_headers_test.cc"
    },
    {
      "type": "modify",
      "old_id": "93c00d7b3e10561896205adbec24ff28a104267b",
      "old_mode": 33188,
      "old_path": "quiche/web_transport/web_transport_headers.cc",
      "new_id": "e96095b80bf87d9990648b6b167d0e7e3e3b1037",
      "new_mode": 33188,
      "new_path": "quiche/web_transport/web_transport_headers.cc"
    }
  ]
}
