)]}'
{
  "commit": "09e18d6b293153397422cbc476447cdf4140cf1e",
  "tree": "e636704d3772a346c6a401bfa7fb63388ae4f352",
  "parents": [
    "dcf13e77d568db12ff07a6ce9ca84717bd3e16ee"
  ],
  "author": {
    "name": "Joe Loser",
    "email": "joeloser93@gmail.com",
    "time": "Wed Nov 03 18:45:04 2021 -0400"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Wed Dec 01 20:20:58 2021 -0800"
  },
  "message": "[libc++] Implement P1989R2: range constructor for string_view\n\nImplement P1989R2 which adds a range constructor for `string_view`.\n\nAdjust `operator/\u003d` in `path` to avoid atomic constraints caching issue\ngetting provoked from this PR.\n\nAdd defaulted template argument to `string_view`\u0027s \"sufficient\noverloads\" to avoid mangling issues in `clang-cl` builds. It is a\nMSVC mangling bug that this works around.\n\nDifferential Revision: https://reviews.llvm.org/D113161\n\nGitOrigin-RevId: c16b13ebf97753a84cb7062c4c1ac984851de4b9\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ae756c392beeb1f67cb0137c58e3aff5630c4532",
      "old_mode": 33188,
      "old_path": "docs/Status/Cxx2bPapers.csv",
      "new_id": "8bb2a729b3a3a04c338f320a3e6d54401d98c14a",
      "new_mode": 33188,
      "new_path": "docs/Status/Cxx2bPapers.csv"
    },
    {
      "type": "modify",
      "old_id": "c688ab765b13f80d9f8073feb739671ec9a76573",
      "old_mode": 33188,
      "old_path": "include/filesystem",
      "new_id": "39e8ca2e814b8d07f42a02be78511b3e9b81ee03",
      "new_mode": 33188,
      "new_path": "include/filesystem"
    },
    {
      "type": "modify",
      "old_id": "373b3943b9e02d70421933827270244d94a9ab2e",
      "old_mode": 33188,
      "old_path": "include/string_view",
      "new_id": "a5f85e88b5026e413f52eef30292454ab580917b",
      "new_mode": 33188,
      "new_path": "include/string_view"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e342e258613bbbf1f270545b7748ac89427e579f",
      "new_mode": 33188,
      "new_path": "test/std/strings/string.view/string.view.cons/from_range.pass.cpp"
    },
    {
      "type": "rename",
      "old_id": "e0ff5f6c0cd53228ebae0798ceda868bb8eaa1d7",
      "old_mode": 33188,
      "old_path": "test/std/strings/string.view/string.view.cons/deduct.pass.cpp",
      "new_id": "e0ff5f6c0cd53228ebae0798ceda868bb8eaa1d7",
      "new_mode": 33188,
      "new_path": "test/std/strings/string.view/string.view.deduct/iterator_sentinel.pass.cpp",
      "score": 100
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d8858db9b04b1dc1df8befa0576b4dba9c8e52e0",
      "new_mode": 33188,
      "new_path": "test/std/strings/string.view/string.view.deduct/range.pass.cpp"
    }
  ]
}
