)]}'
{
  "commit": "ff1795fe4938d3de8588e9547a6749efed24d34c",
  "tree": "6f4028964564b2f44c13bd9e7203f86f34ec6fc7",
  "parents": [
    "55e86c996809902e8bbad512cfb4d2c18be446d9"
  ],
  "author": {
    "name": "Nicholas Nethercote",
    "email": "n.nethercote@gmail.com",
    "time": "Thu Apr 02 16:06:59 2026 +1100"
  },
  "committer": {
    "name": "Nicholas Nethercote",
    "email": "n.nethercote@gmail.com",
    "time": "Fri Apr 03 15:34:33 2026 +1100"
  },
  "message": "Remove `Clone` impl for `StableHashingContext`.\n\n`HashStable::hash_stable` takes a `\u0026mut Hcx`. In contrast,\n`ToStableHashKey::to_stable_hash_key` takes a `\u0026Hcx`. But there are\nsome places where the latter calls the former, and due to the mismatch a\n`clone` call is required to get a mutable `StableHashingContext`.\n\nThis commit changes `to_stable_hash_key` to instead take a `\u0026mut Hcx`.\nThis eliminates the mismatch, the need for the clones, and the need for\nthe `Clone` impls.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3269fc5c9c1d564f444e767b29e03628ffe5debb",
      "old_mode": 33188,
      "old_path": "compiler/rustc_codegen_ssa/src/back/symbol_export.rs",
      "new_id": "687ec7ca059d14d5a9e994d1c0f6931b6402e053",
      "new_mode": 33188,
      "new_path": "compiler/rustc_codegen_ssa/src/back/symbol_export.rs"
    },
    {
      "type": "modify",
      "old_id": "c9993d106d6d304f9f147600344530e41d2d9f4f",
      "old_mode": 33188,
      "old_path": "compiler/rustc_data_structures/src/stable_hasher.rs",
      "new_id": "ce3d781712515f7e9a8b4002ba2067b88e398d06",
      "new_mode": 33188,
      "new_path": "compiler/rustc_data_structures/src/stable_hasher.rs"
    },
    {
      "type": "modify",
      "old_id": "8a3b3e2e98cd50f8c59cf9a89b4b83b5072a95f2",
      "old_mode": 33188,
      "old_path": "compiler/rustc_data_structures/src/unord.rs",
      "new_id": "b0550f0a4f698ee01b009ee1ab414545fd6b96ec",
      "new_mode": 33188,
      "new_path": "compiler/rustc_data_structures/src/unord.rs"
    },
    {
      "type": "modify",
      "old_id": "cae8bb89233b2002bb78f0d7a4247848f47174b8",
      "old_mode": 33188,
      "old_path": "compiler/rustc_hir/src/def.rs",
      "new_id": "ec701cbe9a469615718e931d916ce77ae1389094",
      "new_mode": 33188,
      "new_path": "compiler/rustc_hir/src/def.rs"
    },
    {
      "type": "modify",
      "old_id": "a157fc0ccbb0c275e108b45b1cfd188c0939c54b",
      "old_mode": 33188,
      "old_path": "compiler/rustc_hir/src/stable_hash_impls.rs",
      "new_id": "f2cfeaf027f3bf8ca674f1d44a64cdc222f320a3",
      "new_mode": 33188,
      "new_path": "compiler/rustc_hir/src/stable_hash_impls.rs"
    },
    {
      "type": "modify",
      "old_id": "064ce4ed4cafe24686aa9b344dea59d06ec7d9b9",
      "old_mode": 33188,
      "old_path": "compiler/rustc_hir_id/src/lib.rs",
      "new_id": "f37a19e9c1fe74c80ef5ffdd00974fbaf522db28",
      "new_mode": 33188,
      "new_path": "compiler/rustc_hir_id/src/lib.rs"
    },
    {
      "type": "modify",
      "old_id": "afb20b3c7cd0aa218d9e64c944ce8b47a472a2d4",
      "old_mode": 33188,
      "old_path": "compiler/rustc_hir_typeck/src/writeback.rs",
      "new_id": "5c87a1c0a9ab57ffbde2046d0177e69306825356",
      "new_mode": 33188,
      "new_path": "compiler/rustc_hir_typeck/src/writeback.rs"
    },
    {
      "type": "modify",
      "old_id": "1c86d553f9b6af5e030ca9a0a22f9923b306d900",
      "old_mode": 33188,
      "old_path": "compiler/rustc_lint_defs/src/lib.rs",
      "new_id": "12a716493de9228142a211120139252bd58f6e9f",
      "new_mode": 33188,
      "new_path": "compiler/rustc_lint_defs/src/lib.rs"
    },
    {
      "type": "modify",
      "old_id": "987aa3e2a2c2e2eb0e6f37f2bcf34c4fb9f64436",
      "old_mode": 33188,
      "old_path": "compiler/rustc_middle/src/dep_graph/dep_node.rs",
      "new_id": "6bf2863fe071b436fba0bc6a1a00bd7fca9fd32d",
      "new_mode": 33188,
      "new_path": "compiler/rustc_middle/src/dep_graph/dep_node.rs"
    },
    {
      "type": "modify",
      "old_id": "0e1cee2970f719afe41b4031bd11ac043815680a",
      "old_mode": 33188,
      "old_path": "compiler/rustc_middle/src/ich/hcx.rs",
      "new_id": "e316cbc81bebeea6d3199541038d2257f82b5526",
      "new_mode": 33188,
      "new_path": "compiler/rustc_middle/src/ich/hcx.rs"
    },
    {
      "type": "modify",
      "old_id": "acebf91b1cbf5cc09f2936d0de53f9de44e6181c",
      "old_mode": 33188,
      "old_path": "compiler/rustc_middle/src/mir/mono.rs",
      "new_id": "3909db8bfce6eecf823e2bf5adca99e13281d0bd",
      "new_mode": 33188,
      "new_path": "compiler/rustc_middle/src/mir/mono.rs"
    },
    {
      "type": "modify",
      "old_id": "f06ce7324d4c0f01d9816ad091ee62acf4c09515",
      "old_mode": 33188,
      "old_path": "compiler/rustc_middle/src/ty/impls_ty.rs",
      "new_id": "883739e19347723ef5ef6b104cde9986171671a9",
      "new_mode": 33188,
      "new_path": "compiler/rustc_middle/src/ty/impls_ty.rs"
    },
    {
      "type": "modify",
      "old_id": "4698e054daf6e7ed6df5e68b7f24b034f7fd303d",
      "old_mode": 33188,
      "old_path": "compiler/rustc_monomorphize/src/collector.rs",
      "new_id": "cab87daff5aa6ce52904c1c22d52413ab61ebceb",
      "new_mode": 33188,
      "new_path": "compiler/rustc_monomorphize/src/collector.rs"
    },
    {
      "type": "modify",
      "old_id": "d8f4e01945075a07e3bc11db18c7ce876a5ae94f",
      "old_mode": 33188,
      "old_path": "compiler/rustc_monomorphize/src/partitioning.rs",
      "new_id": "fb3fb1b0918acc1a95ae0313ea24319f7a6618e9",
      "new_mode": 33188,
      "new_path": "compiler/rustc_monomorphize/src/partitioning.rs"
    },
    {
      "type": "modify",
      "old_id": "7539e3c4f499f9e0f29b8f2308ab7ed9ed699b8f",
      "old_mode": 33188,
      "old_path": "compiler/rustc_resolve/src/late/diagnostics.rs",
      "new_id": "d3aec252d125e543c8b45204b728dd0566a11be7",
      "new_mode": 33188,
      "new_path": "compiler/rustc_resolve/src/late/diagnostics.rs"
    },
    {
      "type": "modify",
      "old_id": "1e95482a8c7e6eb02deb63ee44274afa06767a3d",
      "old_mode": 33188,
      "old_path": "compiler/rustc_session/src/config.rs",
      "new_id": "e4ef1d40d72d51b6a5ea518717c242ea3e651b48",
      "new_mode": 33188,
      "new_path": "compiler/rustc_session/src/config.rs"
    },
    {
      "type": "modify",
      "old_id": "d9aa73cefc578d13c95ecc512c14751ced4df6b4",
      "old_mode": 33188,
      "old_path": "compiler/rustc_span/src/caching_source_map_view.rs",
      "new_id": "3a3f238a7e55b52ecd812d7315aba6a199e2ef39",
      "new_mode": 33188,
      "new_path": "compiler/rustc_span/src/caching_source_map_view.rs"
    },
    {
      "type": "modify",
      "old_id": "8c313c7f8b3a3a765ea4b4d3fcc5c6ee40d9523e",
      "old_mode": 33188,
      "old_path": "compiler/rustc_span/src/def_id.rs",
      "new_id": "8a56d716a300341e08171a82f85833059ed1bfe2",
      "new_mode": 33188,
      "new_path": "compiler/rustc_span/src/def_id.rs"
    },
    {
      "type": "modify",
      "old_id": "53e2527057bc21fe11739fccb98f26736ab0d70a",
      "old_mode": 33188,
      "old_path": "compiler/rustc_span/src/symbol.rs",
      "new_id": "3ba981ee485a5ad5f852eedd0c02fdb7de11b0f2",
      "new_mode": 33188,
      "new_path": "compiler/rustc_span/src/symbol.rs"
    },
    {
      "type": "modify",
      "old_id": "5e24e53c62d9aab4c0093d1c1df65ac0289c6e67",
      "old_mode": 33188,
      "old_path": "compiler/rustc_type_ir/src/fast_reject.rs",
      "new_id": "a8a04f18d549e6f79146bf8d8e10196ef1c09bc8",
      "new_mode": 33188,
      "new_path": "compiler/rustc_type_ir/src/fast_reject.rs"
    },
    {
      "type": "modify",
      "old_id": "e73c870508bd01f3edd4abb3cd96afd51ff3b705",
      "old_mode": 33188,
      "old_path": "src/tools/miri/src/bin/miri.rs",
      "new_id": "36cf640cb8449d3730da829ee49a570b6bc80b96",
      "new_mode": 33188,
      "new_path": "src/tools/miri/src/bin/miri.rs"
    }
  ]
}
