)]}'
{
  "commit": "1b05ce5bc062d15940b10451fcbdc4bf436dc584",
  "tree": "81b413d1c17f6eda91dcfbe0de4606d509b575a2",
  "parents": [
    "bb1ee389fdf153537323e2d13615dff16268f6de"
  ],
  "author": {
    "name": "Jason Rhinelander",
    "email": "jason@imaginary.ca",
    "time": "Tue Aug 09 17:57:59 2016 -0400"
  },
  "committer": {
    "name": "Jason Rhinelander",
    "email": "jason@imaginary.ca",
    "time": "Tue Aug 09 17:57:59 2016 -0400"
  },
  "message": "Track registered instances that share a pointer address\n\nThe pointer to the first member of a class instance is the same as the\npointer to instance itself; pybind11 has some workarounds for this to\nnot track registered instances that have a registered parent with the\nsame address.  This doesn\u0027t work everywhere, however: issue #328 is a\nfailure of this for a mutator operator which resolves its argument to\nthe parent rather than the child, as is needed in #328.\n\nThis commit resolves the issue (and restores tracking of same-address\ninstances) by changing registered_instances from an unordered_map to an\nunordered_multimap that allows duplicate instances for the same pointer\nto be recorded, then resolves these differences by checking the type of\neach matched instance when looking up an instance.  (A\nunordered_multimap seems cleaner for this than a unordered_map\u003clist\u003e or\nsimilar because, the vast majority of the time, the instance will be\nunique).\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "55fc3f3cb4f7ddde108cd52495a2f6486d40439a",
      "old_mode": 33188,
      "old_path": "example/issues.cpp",
      "new_id": "66934ee0675637500e9d396c8f829d54edde70a1",
      "new_mode": 33188,
      "new_path": "example/issues.cpp"
    },
    {
      "type": "modify",
      "old_id": "716a1b2fdeaa6a9bd5a9ab629b8ec9b105ffd71d",
      "old_mode": 33188,
      "old_path": "example/issues.py",
      "new_id": "12b46b7f5c30ccc32d6b7339405ab48c0fa82b70",
      "new_mode": 33188,
      "new_path": "example/issues.py"
    },
    {
      "type": "modify",
      "old_id": "acb1ed08eec2a452e4e34eef05b9c2705a7a7138",
      "old_mode": 33188,
      "old_path": "example/issues.ref",
      "new_id": "f25ab298b60a41ce93482d2a3e1df97363f260fb",
      "new_mode": 33188,
      "new_path": "example/issues.ref"
    },
    {
      "type": "modify",
      "old_id": "34dbb28e1584b88452a1323a6ac884ff81f3db97",
      "old_mode": 33188,
      "old_path": "include/pybind11/cast.h",
      "new_id": "ad8f2759db3354b44a44d79bb3d0befd1a7c557e",
      "new_mode": 33188,
      "new_path": "include/pybind11/cast.h"
    },
    {
      "type": "modify",
      "old_id": "a278a9f0eda1333d3dd41b10e6cb848e5787b7f3",
      "old_mode": 33188,
      "old_path": "include/pybind11/common.h",
      "new_id": "c0d248250474d038bb58b93a4f93dd08995998d3",
      "new_mode": 33188,
      "new_path": "include/pybind11/common.h"
    },
    {
      "type": "modify",
      "old_id": "0016f37181f55a8c7d134f799d8f8f927705aaa7",
      "old_mode": 33188,
      "old_path": "include/pybind11/pybind11.h",
      "new_id": "632f955e0efd14a6e2e99e3b216c8ba14a38cef0",
      "new_mode": 33188,
      "new_path": "include/pybind11/pybind11.h"
    }
  ]
}
