)]}'
{
  "commit": "0784689a65b4ea1329fbc5174b8a57c88ec796a9",
  "tree": "10e87719f91f04c8090059c82ef092d72e2595fd",
  "parents": [
    "e73c3d04da81c75036da4de6b12616ac8fafea3b"
  ],
  "author": {
    "name": "Abseil Team",
    "email": "absl-team@google.com",
    "time": "Fri Jul 10 10:41:39 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Fri Jul 10 10:42:29 2026 -0700"
  },
  "message": "Migrate attribute CAPTURED_BY(this) to CAPTURED_BY_THIS\n\nThis change updates absl\u0027s internal `lifetime_capture_by` attribute macros to adopt an explicit annotation instead of using the `this` keyword as a parameter. Specifically, `ABSL_INTERNAL_ATTRIBUTE_CAPTURED_BY(this)` has been replaced with `ABSL_INTERNAL_ATTRIBUTE_CAPTURED_BY_THIS` throughout the absl.\n\nThis migration follows the recent LLVM commit (https://github.com/llvm/llvm-project/commit/a627e7e9c3cc9adab27b1e6ebfd70f40dccacf5c), which introduced `[[clang::lifetime_capture_by_this]]` as a replacement for `[[clang::lifetime_capture_by(this)]]`. The motivation is to migrate away from using language keywords (like `this`) as attribute arguments in favor of more explicit annotations, avoiding potential parser complexities and improving standard compliance.\n\nPiperOrigin-RevId: 945785962\nChange-Id: I0f4dc46eace500c173b84d715285210cbc3b16f8\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5887fcafbf9f95e8248976534f8a936caec556e8",
      "old_mode": 33188,
      "old_path": "absl/base/attributes.h",
      "new_id": "525824a95feea081af182298e309b285cee476c4",
      "new_mode": 33188,
      "new_path": "absl/base/attributes.h"
    },
    {
      "type": "modify",
      "old_id": "d535093ef2445777b3523991e963a375ac09cc48",
      "old_mode": 33188,
      "old_path": "absl/base/internal/spinlock.h",
      "new_id": "81210ca30caf06961a84a4c831228c3f31990eb9",
      "new_mode": 33188,
      "new_path": "absl/base/internal/spinlock.h"
    },
    {
      "type": "modify",
      "old_id": "2bd98c6b7f5115d1266006dba5495e2391c70f6a",
      "old_mode": 33188,
      "old_path": "absl/container/internal/btree_container.h",
      "new_id": "8a4582f22aa651ea38b033e667b8292ce575f973",
      "new_mode": 33188,
      "new_path": "absl/container/internal/btree_container.h"
    },
    {
      "type": "modify",
      "old_id": "37355c1df820f14d8935800ea10de137d8668b4a",
      "old_mode": 33188,
      "old_path": "absl/container/internal/raw_hash_map.h",
      "new_id": "04e9e616e2bef7892a073d3686480dc4e73dee7b",
      "new_mode": 33188,
      "new_path": "absl/container/internal/raw_hash_map.h"
    },
    {
      "type": "modify",
      "old_id": "3c25b0835d13c044ce4056c5451c892f1ae23ce8",
      "old_mode": 33188,
      "old_path": "absl/container/internal/raw_hash_set.h",
      "new_id": "e158cfc153379be1d61d7a0b70e5693e2619297b",
      "new_mode": 33188,
      "new_path": "absl/container/internal/raw_hash_set.h"
    },
    {
      "type": "modify",
      "old_id": "cabfd661e462eab0d9c0886f26183481d2ac0ca5",
      "old_mode": 33188,
      "old_path": "absl/status/statusor.h",
      "new_id": "8d8247fffb517c5e20a2dcd1769e72f9a00e3fb7",
      "new_mode": 33188,
      "new_path": "absl/status/statusor.h"
    },
    {
      "type": "modify",
      "old_id": "ad156d443d6c5ae2750ad6f2bb2b176c1e402171",
      "old_mode": 33188,
      "old_path": "absl/synchronization/mutex.h",
      "new_id": "03cce89b4d9fb27ae2e9c3fc53a70e7fdf52930c",
      "new_mode": 33188,
      "new_path": "absl/synchronization/mutex.h"
    }
  ]
}
