)]}'
{
  "commit": "e2bca09c74afbfad0a7e6c6bc8c401c33cfcf7da",
  "tree": "15a1b897af8284b2b5f2c610686a971fef1b931e",
  "parents": [
    "99b16786247df1d70e51877254b5dd3e16fa2434"
  ],
  "author": {
    "name": "Vitaly Goldshteyn",
    "email": "goldvitaly@google.com",
    "time": "Fri Sep 04 15:14:08 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Fri Sep 04 15:15:13 2026 -0700"
  },
  "message": "Refactor DestructSoo and DestructNonSoo to accept DestructorPolicyFunctions.\n\nThis change simplifies the signatures of DestructSoo and DestructNonSoo by grouping individual policy-related arguments (such as slot size, alignment, destroy_slot, and dealloc) into a single DestructorPolicyFunctions parameter.\n\nSeparate DestructorPolicyFunctions is introduced to avoid linker input size bloat. SwissTable destructor is instantiated much more often that other functions. So we better to avoid instantiating all the policy functions.\n\n16 bytes of duplicated information is being stored in both `DestructorPolicyFunctions` and `PolicyFunctions`, but it is ok given the savings in binary size of destructor.\n\nPiperOrigin-RevId: 976517285\nChange-Id: I4a82553604bac9d04fcd6ceb28c2561523bd3744\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "04c044857c557fe4105d48fac4132c45090aeb67",
      "old_mode": 33188,
      "old_path": "absl/container/internal/raw_hash_set.cc",
      "new_id": "ba95254c8524ced71951716df0a2fb9540af8790",
      "new_mode": 33188,
      "new_path": "absl/container/internal/raw_hash_set.cc"
    },
    {
      "type": "modify",
      "old_id": "2e63c105e51c96317fb53561f0dde1446842b4f2",
      "old_mode": 33188,
      "old_path": "absl/container/internal/raw_hash_set.h",
      "new_id": "ad130578bf77d8494e14aca11dcbc2a251ca8af3",
      "new_mode": 33188,
      "new_path": "absl/container/internal/raw_hash_set.h"
    }
  ]
}
