)]}'
{
  "commit": "e82cb14255cc63099e5c728676506cb4d0d97378",
  "tree": "af7682e6486c70e8611025c0adc8c2cb52a34062",
  "parents": [
    "9cf209f6b87f46795c3eadbeaceeeca7d429752b"
  ],
  "author": {
    "name": "Russ Cox",
    "email": "rsc@golang.org",
    "time": "Wed Jul 12 15:40:11 2023 -0400"
  },
  "committer": {
    "name": "Russ Cox",
    "email": "rsc@golang.org",
    "time": "Wed Aug 16 16:51:05 2023 +0000"
  },
  "message": "runtime: add support for range-over-func\n\nAdd runtime support for range over functions, specifically\nfor defer in the loop body. The defer is running in one\nfunction but needs to append to the deferred function list\nfor a parent function. This CL implements the runtime\nsupport for that, in the form of two new functions:\ndeferrangefunc, which obtains a token representing the\ncurrent frame, and deferprocat, which is like deferproc\nbut adds to the list for frame denoted by the token.\n\nPreparation for proposal #61405. The actual logic in the\ncompiler will be guarded by a GOEXPERIMENT; this code\nwill only run if the compiler emits calls to deferprocat.\n\nChange-Id: I08adf359100856d21d7ff4b493afa229c9471e70\nReviewed-on: https://go-review.googlesource.com/c/go/+/510540\nRun-TryBot: Russ Cox \u003crsc@golang.org\u003e\nTryBot-Result: Gopher Robot \u003cgobot@golang.org\u003e\nReviewed-by: Matthew Dempsky \u003cmdempsky@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "59241143d0ec99c6b692684b9bca7637c588f7f5",
      "old_mode": 33188,
      "old_path": "src/runtime/panic.go",
      "new_id": "acbbaa718f9ba3ff624228c0052878e02e5acf84",
      "new_mode": 33188,
      "new_path": "src/runtime/panic.go"
    }
  ]
}
