)]}'
{
  "commit": "37ab73c2fbc428d69d95b063aa4572468e0bf143",
  "tree": "5c71d8d8d95e1142e1d310c4387ebfde1aac1d36",
  "parents": [
    "4ac29005ff1dc3d8f34ceb9c1438e2db8c1b0888"
  ],
  "author": {
    "name": "msta",
    "email": "msta@google.com",
    "time": "Fri Jul 31 15:53:31 2026 +1000"
  },
  "committer": {
    "name": "gn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "gn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Mon Aug 03 22:42:02 2026 -0700"
  },
  "message": "Fix lifetime of starlark struct keys passed to C++.\n\nThis works fine *most* of the time, since we mostly return structs\nstored on frozen heaps, thus guarunteeing they will live as long as\nthe starlark session. But we make no guaruntee of this.\n\nBug: 528225104\nChange-Id: Ie76b00e2c10fdb4b166e1496fdae04eb6a6a6964\nReviewed-on: https://gn-review.googlesource.com/c/gn/+/24680\nCommit-Queue: Matt Stark \u003cmsta@google.com\u003e\nReviewed-by: Takuto Ikuta \u003ctikuta@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "09d2682cc4b3144faf8fd67535ed73ea7a4f3fbc",
      "old_mode": 33188,
      "old_path": "src/gn/starlark/crates/ffi/src/scope.rs",
      "new_id": "eb9dab06d4afc3f44a27ff9a42bb459f85fd4ea8",
      "new_mode": 33188,
      "new_path": "src/gn/starlark/crates/ffi/src/scope.rs"
    },
    {
      "type": "modify",
      "old_id": "81b1dd636d780a90aa89c33a06bedf7077935ac0",
      "old_mode": 33188,
      "old_path": "src/gn/starlark/crates/types/src/file.rs",
      "new_id": "32233b03fc4b4591f481fcb6caae23eb2c4f49ad",
      "new_mode": 33188,
      "new_path": "src/gn/starlark/crates/types/src/file.rs"
    },
    {
      "type": "modify",
      "old_id": "44613d7027559c5676e1d8b13aa90b1a4c884629",
      "old_mode": 33188,
      "old_path": "src/gn/starlark/crates/types/src/lib.rs",
      "new_id": "ae22eaf6c0765aa99060e4c740e3902cc5d04911",
      "new_mode": 33188,
      "new_path": "src/gn/starlark/crates/types/src/lib.rs"
    }
  ]
}
