)]}'
{
  "commit": "074820e17b39fd2279bcad5e07f9734aac976428",
  "tree": "291f3a9bbc8aa7c2bcdc169c6bf416f625febf25",
  "parents": [
    "94178a22b2c716b74a2d90874e499c9ec64bcd48"
  ],
  "author": {
    "name": "Robert Findley",
    "email": "rfindley@google.com",
    "time": "Sun Oct 10 15:12:32 2021 -0400"
  },
  "committer": {
    "name": "Robert Findley",
    "email": "rfindley@google.com",
    "time": "Tue Oct 12 22:26:24 2021 +0000"
  },
  "message": "go/analysis/passes/usesgenerics: a new analysis to detect generic code\n\nAdd a new \"usesgenerics\" analyzer to report uses of features related to\ngeneric programming.\n\nThis analyzer may be used to temporarily guard other analyzers until\nthey may be updated to support generic features.\n\nAlong the way, update the typeparams API to return the Info.Instances\nmap, rather than provide indirect access, so that it can be iterated.\n\nFixes golang/go#48790\n\nChange-Id: Ia3555524beff6e19f0b9101582205e26e757c8da\nReviewed-on: https://go-review.googlesource.com/c/tools/+/355009\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: Go Bot \u003cgobot@golang.org\u003e\nReviewed-by: Tim King \u003ctaking@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a6dd88819c1e00684ddf19a46b54baeaeb11bce9",
      "new_mode": 33188,
      "new_path": "go/analysis/passes/usesgenerics/testdata/src/a/a.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "81c2810f00c53a40d5714921232ec5de67d13787",
      "new_mode": 33188,
      "new_path": "go/analysis/passes/usesgenerics/testdata/src/b/b.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f07499e84de816c5f6a2d304b26940546f4dc888",
      "new_mode": 33188,
      "new_path": "go/analysis/passes/usesgenerics/testdata/src/c/c.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a06c77651c8285ff00da75072459607adf06513f",
      "new_mode": 33188,
      "new_path": "go/analysis/passes/usesgenerics/testdata/src/d/d.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "73b53fbefa77ef8a3067c2863e6ec2ecdcc43d30",
      "new_mode": 33188,
      "new_path": "go/analysis/passes/usesgenerics/usesgenerics.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3dcff240d44167217ac5430f6186ce3b2e838996",
      "new_mode": 33188,
      "new_path": "go/analysis/passes/usesgenerics/usesgenerics_test.go"
    },
    {
      "type": "modify",
      "old_id": "96654c001163b6c30cc87a8259470035ba937a6d",
      "old_mode": 33188,
      "old_path": "internal/lsp/analysis/infertypeargs/run_go118.go",
      "new_id": "1b767e76d0e0bd45af31c7135fb3063bd7c706f3",
      "new_mode": 33188,
      "new_path": "internal/lsp/analysis/infertypeargs/run_go118.go"
    },
    {
      "type": "modify",
      "old_id": "140a9d2cb00349e8ef8d7f69eae220bddd972709",
      "old_mode": 33188,
      "old_path": "internal/lsp/source/identifier.go",
      "new_id": "f8fddac1ec6320b7c9e25728fcc5c98aa2757d7e",
      "new_mode": 33188,
      "new_path": "internal/lsp/source/identifier.go"
    },
    {
      "type": "modify",
      "old_id": "d22899d29ed5bf612b5a94a1491f5d9599f4ecde",
      "old_mode": 33188,
      "old_path": "internal/typeparams/typeparams_go117.go",
      "new_id": "5a536526c536a3a6dd4179431c23468691917a9d",
      "new_mode": 33188,
      "new_path": "internal/typeparams/typeparams_go117.go"
    },
    {
      "type": "modify",
      "old_id": "a252183411e7c94585de18fd287410ae445697c1",
      "old_mode": 33188,
      "old_path": "internal/typeparams/typeparams_go118.go",
      "new_id": "e3c48221dde228e017ed708861b3999a6ea7a79b",
      "new_mode": 33188,
      "new_path": "internal/typeparams/typeparams_go118.go"
    }
  ]
}
