)]}'
{
  "commit": "c62e53519fb7523419d3486da2798bed5fdce03c",
  "tree": "bd8c04a59251fc15e9710f387a5a36c57214ab04",
  "parents": [
    "892f374d14c33147a1ca7434253c8c8258ea69be"
  ],
  "author": {
    "name": "cuishuang",
    "email": "imcusg@gmail.com",
    "time": "Wed Aug 12 10:32:16 2026 +0800"
  },
  "committer": {
    "name": "Gopher Robot",
    "email": "gobot@golang.org",
    "time": "Wed Aug 19 13:36:39 2026 -0700"
  },
  "message": "go/analysis/passes/modernize: avoid breaking unkeyed struct literals\n\nThe atomictypes analyzer only considers explicit uses of a struct field.\nUnkeyed composite literals such as S{1} contain no field identifier, so\nchanging an int32 field to atomic.Int32 can make the program ill-typed.\n\nSkip the modernization of a struct field when its containing struct type\nis used in an unkeyed composite literal. Add tests for named, nested, and\nanonymous struct literals.\n\nFixes golang/go#80839\n\nChange-Id: Ib9ff40d4c27238a972c8d5d4e2f4377693510505\nReviewed-on: https://go-review.googlesource.com/c/tools/+/813720\nAuto-Submit: Madeline Kalil \u003cmkalil@google.com\u003e\nReviewed-by: Madeline Kalil \u003cmkalil@google.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Peter Weinberger \u003cpjw@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6fd618f9adfc7833a092ebea994a2262a10022aa",
      "old_mode": 33188,
      "old_path": "go/analysis/passes/modernize/atomictypes.go",
      "new_id": "f6d7441461bbb1db5a35ad6596b19ba38e6773d8",
      "new_mode": 33188,
      "new_path": "go/analysis/passes/modernize/atomictypes.go"
    },
    {
      "type": "modify",
      "old_id": "f6a825e80c9a892eb8f1da751a0acf1fc552f5d7",
      "old_mode": 33188,
      "old_path": "go/analysis/passes/modernize/testdata/src/atomictypes/atomic.go",
      "new_id": "5f92c82ffb0d4bc5fc8a7c43d781773913994968",
      "new_mode": 33188,
      "new_path": "go/analysis/passes/modernize/testdata/src/atomictypes/atomic.go"
    },
    {
      "type": "modify",
      "old_id": "7c995a7bd6875cfc79ab6f9311276c6c14de0c04",
      "old_mode": 33188,
      "old_path": "go/analysis/passes/modernize/testdata/src/atomictypes/atomic.go.golden",
      "new_id": "af5d9f975abc3728fc44c69aa1cea0f5d71672b4",
      "new_mode": 33188,
      "new_path": "go/analysis/passes/modernize/testdata/src/atomictypes/atomic.go.golden"
    }
  ]
}
