)]}'
{
  "commit": "ce0506d2accd1c2f179b84e2504e215622d862fe",
  "tree": "db1742ae11787ce9c2a281345e3772c720f20601",
  "parents": [
    "4b9a5fd414e6f0cfb7d0b0c2c711f330a293a997"
  ],
  "author": {
    "name": "Madeline Kalil",
    "email": "mkalil@google.com",
    "time": "Mon Jun 29 14:28:12 2026 -0400"
  },
  "committer": {
    "name": "Gopher Robot",
    "email": "gobot@golang.org",
    "time": "Mon Jul 06 14:56:51 2026 -0700"
  },
  "message": "go/analysis/passes/modernize: embedlit invalid fix\n\nOne of the text edits that the embedlit modernizer\nproduces is to delete the key value expression and\nopening brace in a redundant field type specifier:\n\nT{U: U{f: v, ...}}\n  -----\n\nIf the kv expression is on its own line, we need\nto delete the whole line to avoid leaving white\nspace:\nT{\n  U: U{\n   f: v,\n  }\n}\n\nPreviously, we deleted the whole line after checking\nthat the previous element is on a different line\n(prevLine \u003c curLine) and the closing brace of the\ninner literal is on a different line than its\nopening brace. However, this did not take\ninto account the location of the inner elements.\nIf the first inner field assignment starts\non the same line as the kv expression, deleting\nthe entire line produces\ninvalid code:\n\nB: B{b: 1\n}\n\nWe should verify that the first inner element\nstarts on a subsequent line before we delete\nthe entire line.\n\nFixes golang/go#80197\n\nChange-Id: Ia6623c8dc329e46626677c2b8157c58e2ee81d32\nReviewed-on: https://go-review.googlesource.com/c/tools/+/795441\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": "da883d67c983dd355652340a79bce63d73184110",
      "old_mode": 33188,
      "old_path": "go/analysis/passes/modernize/embedlit.go",
      "new_id": "d2c71b57aa534dd4493d0f39e1ce4e714036bc95",
      "new_mode": 33188,
      "new_path": "go/analysis/passes/modernize/embedlit.go"
    },
    {
      "type": "modify",
      "old_id": "0b97443bf123a8dd6dbf4057dc2ed2b33c58c319",
      "old_mode": 33188,
      "old_path": "go/analysis/passes/modernize/testdata/src/embedlit/embedlit_go127.go",
      "new_id": "39300a1f4f614341f80cfb16d63ab5cf473aac07",
      "new_mode": 33188,
      "new_path": "go/analysis/passes/modernize/testdata/src/embedlit/embedlit_go127.go"
    },
    {
      "type": "modify",
      "old_id": "4bad37a946d8e68f751e243f6ef38b65f6bfb21f",
      "old_mode": 33188,
      "old_path": "go/analysis/passes/modernize/testdata/src/embedlit/embedlit_go127.go.golden",
      "new_id": "69fe4ab7b237b18c26cfbf2d6f616b057e12a82f",
      "new_mode": 33188,
      "new_path": "go/analysis/passes/modernize/testdata/src/embedlit/embedlit_go127.go.golden"
    }
  ]
}
