)]}'
{
  "commit": "d05ab119e188be99697f142a02c6b71137fde082",
  "tree": "dd18127f4a1a5b63440bc1f9e04bd4b60102cb08",
  "parents": [
    "60b43ef70b6d0bef9b738d1358a71b55d402288f"
  ],
  "author": {
    "name": "Louis Dionne",
    "email": "ldionne.2@gmail.com",
    "time": "Tue May 06 15:44:26 2025 -0400"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue May 06 15:44:26 2025 -0400"
  },
  "message": "[libc++] Remove redundant and somewhat confusing assertions around advance() (#133276)\n\nThe std::advance function has a clear precondition that it can only be\ncalled with a negative distance when a bidirectional iterator is used.\nHowever, prev() and next() don\u0027t have such preconditions explicitly,\nthey inherit it from calling advance().\n\nThis patch removes assertions in prev() and next() that were duplicates\nof similar ones in advance(), and removes a copy-pasted comment that was\ntrying to justify the use of _LIBCPP_ASSERT_PEDANTIC but IMO is creating\nconfusion with little benefit.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "57b1b845f1afa6954b82f148a972902750680023",
      "old_mode": 33188,
      "old_path": "libcxx/include/__iterator/advance.h",
      "new_id": "f1a8d28f39aa033bb8667e7673126ad9b2b74558",
      "new_mode": 33188,
      "new_path": "libcxx/include/__iterator/advance.h"
    },
    {
      "type": "modify",
      "old_id": "1f68a5bec8f39c25c09148de6e5b745586dfa60e",
      "old_mode": 33188,
      "old_path": "libcxx/include/__iterator/next.h",
      "new_id": "1143ab31ff7c2e795e38050b23e4f7749afb6fe5",
      "new_mode": 33188,
      "new_path": "libcxx/include/__iterator/next.h"
    },
    {
      "type": "modify",
      "old_id": "bffd5527dc953eb68b3dd5caba857c765bf5c85d",
      "old_mode": 33188,
      "old_path": "libcxx/include/__iterator/prev.h",
      "new_id": "97139e067c89695d2196fb1f1d04df13cf1f34ac",
      "new_mode": 33188,
      "new_path": "libcxx/include/__iterator/prev.h"
    },
    {
      "type": "modify",
      "old_id": "f6fd24284bbfd031b9ee4f26c68dd51c6af98e5a",
      "old_mode": 33188,
      "old_path": "libcxx/test/libcxx/iterators/assert.next.pass.cpp",
      "new_id": "1e86723085542dbcb3864b11cb0fd5f559b4826e",
      "new_mode": 33188,
      "new_path": "libcxx/test/libcxx/iterators/assert.next.pass.cpp"
    },
    {
      "type": "modify",
      "old_id": "08cbe5e03dd5fa4f8c23bd8b1f75f3cbaabf8c0c",
      "old_mode": 33188,
      "old_path": "libcxx/test/libcxx/iterators/assert.prev.pass.cpp",
      "new_id": "29b8d6ed5d1e2e4902c3a2bbf33dbc3986ddebf9",
      "new_mode": 33188,
      "new_path": "libcxx/test/libcxx/iterators/assert.prev.pass.cpp"
    }
  ]
}
