)]}'
{
  "commit": "3f0a3703c02aaff109c1d5df37be01fee784d4fc",
  "tree": "9fce1070f49edb58bb1c68f12c8761d570fcedc2",
  "parents": [
    "e6e8e7ce1b7a8dff097a7e16bdacc53590e942ae"
  ],
  "author": {
    "name": "Alan Donovan",
    "email": "adonovan@google.com",
    "time": "Mon Apr 08 15:28:05 2024"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Apr 08 15:28:05 2024"
  },
  "message": "starlark: eta-abstract the new iterators (#537)\n\nAccording to\r\nhttps://github.com/golang/go/issues/66626#issuecomment-2035188011,\r\nthe convention for iterator methods is that they should return\r\nan iterator, not be an iterator. The caller thus uses this form:\r\n\r\n   for _ elem :\u003d range v.Elements() { ... }\r\n\r\nnot this one:\r\n\r\n   for _ elem :\u003d range v.Elements { ... }\r\n\r\nThis is unfortunately a breaking API change, but since go1.23 is\r\nnot yet released, no-one should be using the new range syntax yet.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0ecaad471a3d92ec8110b46543186338d2837ba5",
      "old_mode": 33188,
      "old_path": "starlark/iterator_test.go",
      "new_id": "c91049624aa93d85a165d65d76cb5552800f6e5a",
      "new_mode": 33188,
      "new_path": "starlark/iterator_test.go"
    },
    {
      "type": "modify",
      "old_id": "af16239e0904dd3946dc8c2110145a585e10709f",
      "old_mode": 33188,
      "old_path": "starlark/value.go",
      "new_id": "f24a3c81141c5ab82f10ffacd91ac6736d7b6143",
      "new_mode": 33188,
      "new_path": "starlark/value.go"
    }
  ]
}
