)]}'
{
  "commit": "dbca0bb22f1311143d31a976b72ea6e101679c31",
  "tree": "40088b780b0297d090700263b4f99e2b92663fc4",
  "parents": [
    "ec72d2badf3c8d5232023038a11ef663076b6208"
  ],
  "author": {
    "name": "Alan Donovan",
    "email": "adonovan@google.com",
    "time": "Wed Oct 07 15:46:48 2026 -0400"
  },
  "committer": {
    "name": "Alex Putman",
    "email": "aputman@golang.org",
    "time": "Fri Oct 09 16:37:49 2026 -0700"
  },
  "message": "go/ssa: support pointer-typed composite literals in all contexts\n\nIn go1.28 (#12854), a composite literal may omit its type in any\nassignment context; if the type is implicit and is a pointer *T,\nit denotes \u0026T{...}.\n\nPreviously this was possible only for nested literals (handled\nby builder.assign), but now such literals may appear in other\ncontexts (call arguments, etc) all of which reach expr0.\nIt used to load a T value where a *T was required, causing a crash.\n\nNow, expr0 treats a pointer type as an implicit \u0026-operation.\nThis actually eliminates a number of special cases.\n\nRecalling the recent change CL 778401, there is now no\ndifference at all between nested and non-nested literals.\nThis allows us to rip out the isZero machinery and the\nstorebuf parameter to compLit. Yay.\n\nUpdates golang/go#82039\n\nChange-Id: I104b48855b214bcc4d9c135834e181223d71bbb3\nReviewed-on: https://go-review.googlesource.com/c/tools/+/846686\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Alex Putman \u003caputman@golang.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f204cc700c71224af86d586a7276d1da1554a3a4",
      "old_mode": 33188,
      "old_path": "go/ssa/builder.go",
      "new_id": "a20b9ad40b5bb8bc1df297a4bb9de18b91a6be29",
      "new_mode": 33188,
      "new_path": "go/ssa/builder.go"
    },
    {
      "type": "modify",
      "old_id": "dd44b7ec2abc956413fafddedf67ff1c5ec0ce05",
      "old_mode": 33188,
      "old_path": "go/ssa/interp/interp_test.go",
      "new_id": "296dbda72ead1f04c8a03b5a8a8b58cfd09dd119",
      "new_mode": 33188,
      "new_path": "go/ssa/interp/interp_test.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "be46deec04801c1a67178ce60607d7c91c7621e2",
      "new_mode": 33188,
      "new_path": "go/ssa/interp/testdata/complit_go128.go"
    }
  ]
}
