)]}'
{
  "commit": "294080fd2f5aedacec87d7670af9d16000dd2d2f",
  "tree": "11943a79d99628536ffbdf2d57cfa66cd59326a7",
  "parents": [
    "97de9ec466464c82f5b546f2826a6a11b183cf7d"
  ],
  "author": {
    "name": "Robert Findley",
    "email": "rfindley@google.com",
    "time": "Wed Mar 16 13:18:41 2022 -0400"
  },
  "committer": {
    "name": "Dmitri Shuralyov",
    "email": "dmitshur@golang.org",
    "time": "Tue Mar 29 15:07:52 2022 +0000"
  },
  "message": "go/types/objectpath: break cycles through type parameters in find\n\nWhen searching for objects, we naively traversed through type parameter\nconstraints. This leads to infinite recursion when there are cycles\nthrough type parameter constraints.\n\nBreak these cycles by tracking type parameter names that have previously\nbeen encountered. This ensures we walk type parameter constraints at\nmost once. Note that if the desired object was not found on the first\nsearch of the constraint, there is no need to search again.\n\nNote: this cherry-pick also adjusts a test error message to match\ngo1.18.\n\nUpdates golang/go#51727\n\nChange-Id: Ifcdf4b138a0e95441e485bbb9ee21c01b04eaed4\nReviewed-on: https://go-review.googlesource.com/c/tools/+/393376\nTrust: Robert Findley \u003crfindley@google.com\u003e\nRun-TryBot: Robert Findley \u003crfindley@google.com\u003e\ngopls-CI: kokoro \u003cnoreply+kokoro@google.com\u003e\nTryBot-Result: Gopher Robot \u003cgobot@golang.org\u003e\nReviewed-by: Robert Griesemer \u003cgri@golang.org\u003e\n(cherry picked from commit d67eab4bcee20484daf13001afb781a117bc49ec)\nReviewed-on: https://go-review.googlesource.com/c/tools/+/393635\nReviewed-by: Dmitri Shuralyov \u003cdmitshur@golang.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7e96fc234e5af5514a5951b2b83093138a19d613",
      "old_mode": 33188,
      "old_path": "go/types/objectpath/objectpath.go",
      "new_id": "557202b4d168f67f7fdeed426bde8b54bcd3dbea",
      "new_mode": 33188,
      "new_path": "go/types/objectpath/objectpath.go"
    },
    {
      "type": "modify",
      "old_id": "829dd13068d7aab037418c8e63ee0bc1dff77b94",
      "old_mode": 33188,
      "old_path": "go/types/objectpath/objectpath_go118_test.go",
      "new_id": "d9735df206c6d9fdf13d7ac16a533392d74535df",
      "new_mode": 33188,
      "new_path": "go/types/objectpath/objectpath_go118_test.go"
    }
  ]
}
