)]}'
{
  "commit": "76c35b626fce1d10a08d604fe4075c968775d361",
  "tree": "7a59d3d06c1b12c092252a055e4768a5b964048e",
  "parents": [
    "1dc74f6f0aadd77ed263a34afa9af20c91fd35f8"
  ],
  "author": {
    "name": "Abseil Team",
    "email": "absl-team@google.com",
    "time": "Fri Oct 23 17:08:09 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Mon Nov 02 18:02:27 2026 -0800"
  },
  "message": "Add ABSL_ATTRIBUTE_UNSAFE_BUFFER_USAGE_IN_CONTAINER and apply it to absl::Span.\n\nClang\u0027s `-Wunsafe-buffer-usage-in-container` flags two-parameter `std::span` constructions whose arguments are not provably safe. The new macro wraps `[[clang::unsafe_buffer_usage_in_container]]`, which opts other container and view types into the same check, and expands to nothing on compilers that do not support the attribute.\n\nApply it to the (pointer, length) constructor of `absl::Span` and the (pointer, length) and (begin, end) overloads of `absl::MakeSpan()` and `absl::MakeConstSpan()`, so that calls such as `absl::Span\u003cint\u003e(p, n)` are diagnosed while `absl::Span\u003cint\u003e(v.data(), v.size())` is not.\n\nPiperOrigin-RevId: 1005970571\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f236f6f70304da194c8c17cf41d2f7a8a37c36a8",
      "old_mode": 33188,
      "old_path": "absl/base/attributes.h",
      "new_id": "f5fdcfeb9263c992136b9a9c1e605ac18fb051df",
      "new_mode": 33188,
      "new_path": "absl/base/attributes.h"
    },
    {
      "type": "modify",
      "old_id": "e87b66e542f8b4033c25d91802d2040c2bd47b42",
      "old_mode": 33188,
      "old_path": "absl/base/attributes_test.cc",
      "new_id": "f4070501d21da5f8919c686bcfed7617612bef38",
      "new_mode": 33188,
      "new_path": "absl/base/attributes_test.cc"
    },
    {
      "type": "modify",
      "old_id": "41aba0aea5bd47ff411f28969011b99808d54c25",
      "old_mode": 33188,
      "old_path": "absl/types/span.h",
      "new_id": "e3a230f5a516debcc3bb99f5e1ae28a9aef8f0f0",
      "new_mode": 33188,
      "new_path": "absl/types/span.h"
    }
  ]
}
