)]}'
{
  "commit": "bf54bcd2f14a330f0dcffa4cf631235de771bde2",
  "tree": "37f39837b30ebbdb13cac48c3e37baa09802d894",
  "parents": [
    "4b32d669ce28c3b3e274a377a955063223a90350"
  ],
  "author": {
    "name": "Peter Weinberger",
    "email": "pjw@google.com",
    "time": "Mon Aug 03 12:52:38 2026 -0400"
  },
  "committer": {
    "name": "Peter Weinberger",
    "email": "pjw@google.com",
    "time": "Fri Aug 07 07:59:35 2026 -0700"
  },
  "message": "gopls/internal/golang/completion: avoid SEGV from double deslicing\n\nCompleting at the cursor in\nfunc f[T ~[]int](x T) {var s string;  _ \u003d append(x, append(\u003ccursor\u003ex, x...)...)\ncauses an extra deslicing in expectedCallParamType which makes the\nexpected param type as both variadic and nil which produces []nil\nas the inner append\u0027s type, which gets matched against s\u0027s type\nfor completion, which seems to cause the panic.\n\nThe fix is to avoid slicing if there\u0027s a ..., in which case a slice is\nbeing passed directly, so the code doesn\u0027t need to deslice.\n\nFixes: golang/go#74564\nChange-Id: I4771417438969ba494ac51283c7932bbf26cb117\nReviewed-on: https://go-review.googlesource.com/c/tools/+/809600\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Hongxiang Jiang \u003chxjiang@golang.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "68f773e09ae42814de63a1d8a1ac53aac5baf980",
      "old_mode": 33188,
      "old_path": "gopls/internal/golang/completion/builtin.go",
      "new_id": "d465b840bbac407b2aa647125e0c16571bba360e",
      "new_mode": 33188,
      "new_path": "gopls/internal/golang/completion/builtin.go"
    },
    {
      "type": "modify",
      "old_id": "f9f53b797b219c7867411363bba20fe2b6430df0",
      "old_mode": 33188,
      "old_path": "gopls/internal/golang/completion/completion.go",
      "new_id": "ed146c084c90fdded1932d33b1b5f221b0bc6dbb",
      "new_mode": 33188,
      "new_path": "gopls/internal/golang/completion/completion.go"
    },
    {
      "type": "modify",
      "old_id": "0fcd8a6eaa8998025ea9926aba09e1aef8876ed9",
      "old_mode": 33188,
      "old_path": "gopls/internal/test/integration/completion/completion_test.go",
      "new_id": "045b8596f9b7e82e6148f0401068fa58e239a852",
      "new_mode": 33188,
      "new_path": "gopls/internal/test/integration/completion/completion_test.go"
    }
  ]
}
