)]}'
{
  "commit": "b9ae4f7bf7dc4f4a7c8a8cc934522093d6868bf7",
  "tree": "5220c7eca6b8caf864a59e14e7f8c2a57044bdc4",
  "parents": [
    "3fda0e426ca17b0baa0d6e765a0d23f487350573"
  ],
  "author": {
    "name": "Ivan Enderlin",
    "email": "ivan@mnt.io",
    "time": "Fri Jan 09 08:55:02 2026 +0100"
  },
  "committer": {
    "name": "Ivan Enderlin",
    "email": "ivan@mnt.io",
    "time": "Fri Jan 09 11:54:53 2026 +0100"
  },
  "message": "rustdoc_json: Remove one call to `std::mem::take` in `after_krate`.\n\nThis patch removes one call to `std::mem::take` to save two\n`memcpy`s: `JsonRenderer::index` can be quite large as noted\nhttps://github.com/rust-lang/rust/pull/142335. `self.index` can be\npassed directly to `types::Crate`. This removal makes `self` immutable.\n\nThe private `serialize_and_write` method is moved as a function: the\n`self` argument is replaced by `sess: \u0026Session`. This `\u0026Session` was\nfetched earlier in `after_krate` in all cases. This change allows to\ncall `serialize_and_write` after `output_crate` is created, without\nhaving a conflict around the move of `self`: the borrow checker is now\nhappy.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "37d456ae796bd2f3d64988582024f2608cc17711",
      "old_mode": 33188,
      "old_path": "src/librustdoc/json/mod.rs",
      "new_id": "a201f661d9f78456f7e514464b179a908a46d526",
      "new_mode": 33188,
      "new_path": "src/librustdoc/json/mod.rs"
    }
  ]
}
