)]}'
{
  "commit": "d310b2a6b8a66eeb5953b1e682cf27669c8a08c2",
  "tree": "6556c0a96372c32b7a6d25fab3b1705412fe74f2",
  "parents": [
    "1b0a0316802b8048d69da49dc23c5a5ab08e8ae8"
  ],
  "author": {
    "name": "Cuong Manh Le",
    "email": "cuong.manhle.vn@gmail.com",
    "time": "Thu Apr 22 17:14:10 2021 +0700"
  },
  "committer": {
    "name": "Cuong Manh Le",
    "email": "cuong.manhle.vn@gmail.com",
    "time": "Fri Apr 23 05:10:41 2021 +0000"
  },
  "message": "cmd/compile: set correct Defn for inlined vars\n\nCurrently, when copying definition node of an inlined var, we do not\nupdate var Defn field to point to new copied node. That causes all\ninlined vars point to the same Defn, and ir.StaticValue can not find\ninlined var in the lhs of its definition.\n\nclovar creates new ONAME node for local variables or params of closure\ninside inlined function, by copying most of the old node fields. So the\nnew Node.Defn is not modified, its lhs still refer to old node\ninstead of new one.\n\nTo fix this, we need to do two things:\n\n - In subst.clovar, set a dummy Defn node for inlvar\n - During subst.node, when seeing OAS/OAS2 nodes, after substituting, we\n   check if any node in lhs has the dummy Defn, then set it to the current\n   OAS/OAS2 node.\n\nFixes #45606\n\nChange-Id: Ib517b753a7643756dcd61d36deae60f1a0fc53c5\nReviewed-on: https://go-review.googlesource.com/c/go/+/312630\nTrust: Cuong Manh Le \u003ccuong.manhle.vn@gmail.com\u003e\nRun-TryBot: Cuong Manh Le \u003ccuong.manhle.vn@gmail.com\u003e\nTryBot-Result: Go Bot \u003cgobot@golang.org\u003e\nReviewed-by: Matthew Dempsky \u003cmdempsky@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3cbe932d5529412ce1a5259f500b3f1e85c8bdbf",
      "old_mode": 33188,
      "old_path": "src/cmd/compile/internal/inline/inl.go",
      "new_id": "54fcb2b830d3f7475667341b44954e508d645adc",
      "new_mode": 33188,
      "new_path": "src/cmd/compile/internal/inline/inl.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1b52b4e7d5ac0a853b22518779cb3876ec805dd5",
      "new_mode": 33188,
      "new_path": "test/fixedbugs/issue45606.go"
    }
  ]
}
