)]}'
{
  "commit": "cca4c51ca463ea02fa504331ff21bc313c80c7f3",
  "tree": "0a9825fe5f3232e09a1392dcabfc350ae489b842",
  "parents": [
    "e9b961d9b913575c07ba28c038c3706731768da6"
  ],
  "author": {
    "name": "Tim Stumbaugh",
    "email": "anabus.maximus@gmail.com",
    "time": "Tue May 09 08:04:20 2023 -0600"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue May 09 07:04:20 2023 -0700"
  },
  "message": "Update errors in string \"Explicit conversions\" docs (#4658)\n\n`PyUnicode_DecodeLatin1` requires you to pass in the `error`\r\nparameter. The code as it is in the docs didn\u0027t compile.\r\n\r\nThere is a reference leak in the example\r\ncode. `PyUnicode_DecodeLatin1` returns a new reference. Calling\r\n`py::str(PyObject*)` calls `PyObject_Str`, which also returns a new\r\nreference. That reference is managed by the `py::str`\r\nconstructor (which correctly steals the reference, using the\r\n`stolen_t` constructor), but the original reference returned by\r\n`PyUnicode_DecodeLatin1` is never decref\u0027d: it never makes it into an\r\n`object`, and it\u0027s never manually decremented.\r\n\r\nThis fixes both of those issues. The code compiles, and I viewed the\r\nsphinx docs locally.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e246c5219a6746f20c17cac26fc760abf90a7e0d",
      "old_mode": 33188,
      "old_path": "docs/advanced/cast/strings.rst",
      "new_id": "271716b4b300a076be22cf005d004f615f0d0470",
      "new_mode": 33188,
      "new_path": "docs/advanced/cast/strings.rst"
    }
  ]
}
