)]}'
{
  "commit": "fc7339dea31ae4e6854ff10b83d66653c13b5458",
  "tree": "23779dd1b30c92dc5f9bc20bacaa46782cee7e8e",
  "parents": [
    "95f84b6d5f3a703d750e880d7215d673c400bd6d"
  ],
  "author": {
    "name": "Madeline Kalil",
    "email": "mkalil@google.com",
    "time": "Tue Jul 07 13:01:57 2026 -0400"
  },
  "committer": {
    "name": "Gopher Robot",
    "email": "gobot@golang.org",
    "time": "Fri Jul 10 09:50:32 2026 -0700"
  },
  "message": "go/analysis/passes/modernize: embedlit - skip if no selections are embedded\n\nIf we have a type with no embedded fields, like:\n\ntype T struct {\n   x, y int\n}\n\nt :\u003d T{}\nt.x \u003d 1\n\nWe should not suggest combining the assignment into\nt :\u003d T{x: 1}\n\nbecause this is not directly related to the Go1.27 language\nfeature of direct access to embedded struct fields.\n\nIf at least one of the selections references an embedded field,\nwe should still suggest a modernization, like:\n\ntype T struct {\n  x int\n  Y\n}\n\ntype Y struct {\n  y int\n}\n\nt :\u003d T{}\nt.x \u003d 1 // non-embedded reference\nt.y \u003d 2 // embedded reference\n\n\u003d\u003e\nt :\u003d T{x: 1, y: 2}\n\nChange-Id: I8a1b83c8e60a6dc6f1cf609e8d6e5ba18b0f9225\nReviewed-on: https://go-review.googlesource.com/c/tools/+/797560\nAuto-Submit: Madeline Kalil \u003cmkalil@google.com\u003e\nReviewed-by: Alan Donovan \u003cadonovan@google.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f8b6dfca57cde314972c567160ee62d87f930a58",
      "old_mode": 33188,
      "old_path": "go/analysis/passes/modernize/embedlit.go",
      "new_id": "4061758f85f43d500805a2ec474879b542d00b4c",
      "new_mode": 33188,
      "new_path": "go/analysis/passes/modernize/embedlit.go"
    },
    {
      "type": "modify",
      "old_id": "19a47ee4158b6d4393607f927c51d2dfff0d1f9f",
      "old_mode": 33188,
      "old_path": "go/analysis/passes/modernize/testdata/src/embedlit/embedlit_go127.go",
      "new_id": "6c9ac330dd1599f3c13b6f43c6865ede2e4d3016",
      "new_mode": 33188,
      "new_path": "go/analysis/passes/modernize/testdata/src/embedlit/embedlit_go127.go"
    },
    {
      "type": "modify",
      "old_id": "6d8e43784d6677f0bcf6e71dd38d6ff1fea01e51",
      "old_mode": 33188,
      "old_path": "go/analysis/passes/modernize/testdata/src/embedlit/embedlit_go127.go.golden",
      "new_id": "48f059396ad0db0c5a78096688353d6e9cbc7308",
      "new_mode": 33188,
      "new_path": "go/analysis/passes/modernize/testdata/src/embedlit/embedlit_go127.go.golden"
    }
  ]
}
