)]}'
{
  "commit": "ca7a362dd088da3c9a11f5a0e454f27e8991c886",
  "tree": "c268966b1b050deec3f4840d2df6230f5c9927c6",
  "parents": [
    "b3039ca4cd241c11a4649a9b8e73952e544aaf80"
  ],
  "author": {
    "name": "Madeline Kalil",
    "email": "mkalil@google.com",
    "time": "Fri Nov 07 10:49:05 2025 -0500"
  },
  "committer": {
    "name": "Madeline Kalil",
    "email": "mkalil@google.com",
    "time": "Fri Nov 07 10:25:35 2025 -0800"
  },
  "message": "go/analysis/passes/modernize: use strings.Contains in strings.Cut modernizer\n\nThis CL is a follow-up to the strings.Cut modernizer, which offers to replace instances of strings.Index, strings.IndexByte, bytes.Index, and bytes.IndexByte, with either strings.Cut or bytes.Cut.\n\nWhen the index is used only to check for the presence of the substring or byte slice, a suggested fix would look like:\n_, _, ok :\u003d strings.Cut(s, substr)\n\nInstead, the analyzer suggests the use of strings.Contains which avoids the blank assignments for unused variables:\nfound :\u003d strings.Contains(s, substr)\n\nChange-Id: Idf50116812e2056f2fa973ef08c87672a2e86a47\nReviewed-on: https://go-review.googlesource.com/c/tools/+/718760\nReviewed-by: Alan Donovan \u003cadonovan@google.com\u003e\nLUCI-TryBot-Result: Go LUCI \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "04440e7e47fa91164aa816d2b81ab2f4c7c835d6",
      "old_mode": 33188,
      "old_path": "go/analysis/passes/modernize/doc.go",
      "new_id": "7469002f56e43fbb0c4a04825febeb8a29097089",
      "new_mode": 33188,
      "new_path": "go/analysis/passes/modernize/doc.go"
    },
    {
      "type": "modify",
      "old_id": "1342965a41ed4a2a5d8046ade3405b2d1e241843",
      "old_mode": 33188,
      "old_path": "go/analysis/passes/modernize/stringscut.go",
      "new_id": "598920dfbae623791c13d327bab01985ebdf0cb0",
      "new_mode": 33188,
      "new_path": "go/analysis/passes/modernize/stringscut.go"
    },
    {
      "type": "modify",
      "old_id": "6b9aef1869ffa55cd9576c24ffbdb15efc13a11a",
      "old_mode": 33188,
      "old_path": "go/analysis/passes/modernize/testdata/src/stringscut/stringscut.go",
      "new_id": "85fb82a96119317b1f172b2eaa108e737a6485fb",
      "new_mode": 33188,
      "new_path": "go/analysis/passes/modernize/testdata/src/stringscut/stringscut.go"
    },
    {
      "type": "modify",
      "old_id": "75b778e5ff1ad9ba9f7fff24ec0483c1a6b1f6f9",
      "old_mode": 33188,
      "old_path": "go/analysis/passes/modernize/testdata/src/stringscut/stringscut.go.golden",
      "new_id": "c3ddd699bbd9726474e77ceca427574dbc6ea6b5",
      "new_mode": 33188,
      "new_path": "go/analysis/passes/modernize/testdata/src/stringscut/stringscut.go.golden"
    },
    {
      "type": "modify",
      "old_id": "16151a596da08b3174935107f10528580bb4578b",
      "old_mode": 33188,
      "old_path": "gopls/doc/analyzers.md",
      "new_id": "dfd5f00d0e0c38fef5c33a4f5b25df9ebaebb320",
      "new_mode": 33188,
      "new_path": "gopls/doc/analyzers.md"
    },
    {
      "type": "modify",
      "old_id": "5fb02a1b1a662cc3a48af466a538c6ff5d432c17",
      "old_mode": 33188,
      "old_path": "gopls/internal/doc/api.json",
      "new_id": "66ab0ced9cd06dab0d19df6bf93ca99ad163c000",
      "new_mode": 33188,
      "new_path": "gopls/internal/doc/api.json"
    }
  ]
}
