)]}'
{
  "commit": "6eb0a60580b3ee63304546c3b63dfb115c1c1955",
  "tree": "37c7e8b9f8ab02324d23787dc387bdf5a52feaa2",
  "parents": [
    "83c586a2af1ad6b73c84917d5d7deb69dfc3eea1"
  ],
  "author": {
    "name": "QUICHE team",
    "email": "quiche-dev@google.com",
    "time": "Tue Jul 07 12:03:30 2020 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Tue Jul 07 12:04:01 2020 -0700"
  },
  "message": "Don’t assume `QuicheStringPiece::const_iterator` is a `const char*`\n\nExplicitly convert a `QuicheStringPiece::const_iterator` to `const char*` before trying to initialize a `QuicheStringPiece` with it. This is technically required by the standard – `std::string_view` (to which `QuicheStringPiece` decays in C++17 mode) only has\n\nstd::string_view::string_view(const char*, size_t);\nstd::string_view::string_view(const char*);\n\nand not\n\nstd::string_view::string_view(std::string_view::const_iterator);\n\nIn practice, this isn’t generally an issue, because most STL implementations use `const char*` as the `string_view` iterator type. MSVC, however, uses a struct for the iterator and therefore requires the explicit conversion.\n\nThanks go to Yifan Yang \u003cneedyyang@google.com\u003e, who identified this issue.\n\nPiperOrigin-RevId: 320031927\nChange-Id: If81aff793fac2db7202b5df0d02f86147fc3a658\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "90dbab8abdb6b3bd0b67d88878e865014b783ac1",
      "old_mode": 33188,
      "old_path": "spdy/core/spdy_alt_svc_wire_format.cc",
      "new_id": "7f7ca298ab79bee9e2199cae9efbb9cac86de484",
      "new_mode": 33188,
      "new_path": "spdy/core/spdy_alt_svc_wire_format.cc"
    }
  ]
}
