)]}'
{
  "commit": "55a1efc2e04d7d7ecd5a19db3945b4231dbdc050",
  "tree": "9e3ee9b3ac7d9a953ac23a107873688a885ee127",
  "parents": [
    "5a457c7ba71bebfa1c07a4d4bba8a13b03bba2f4"
  ],
  "author": {
    "name": "Tomasz Kamiński",
    "email": "tkaminsk@redhat.com",
    "time": "Wed Jul 29 12:14:39 2026 +0200"
  },
  "committer": {
    "name": "Tomasz Kamiński",
    "email": "tkaminsk@redhat.com",
    "time": "Fri Jul 31 15:12:59 2026 +0200"
  },
  "message": "libstdc++: Reject user-defined specializations for allocator traits.\n\nMarks allocator_traits primary tempalte with [[_Clang::__no_specializations]]\nattribute in C++23 or later.\n\nThis is QoI improvement for C++23 P2652R2, \"Disallow User Specialization\nof allocator_traits\", that makes such cases ill-formed, but does not\nrequire diagnostic.\n\nlibstdc++-v3/ChangeLog:\n\n\t* include/bits/alloc_traits.h\n\t(_GLIBCXX_NO_ALLOC_TRAITS_SPECIALIZATIONS): Define locally.\n\t(std::allocator_traits) [__cplusplus \u003e 202002L]: Add\n\tclang::no_specializations attribute.\n\t(std::allocator_traits\u003callocator\u003c_Tp\u003e\u003e)\n\t(std::allocator_traits\u003callocator\u003cvoid\u003e\u003e): Locally ignore\n\t-Winvalid-specialization warnings.\n\t* include/bits/memory_resource.h\n\t(allocator_traits\u003cpmr::polymorphic_allocator\u003c_Tp\u003e\u003e): Likewise.\n\t* testsuite/20_util/allocator_traits/requirements/specializations_neg.cc:\n\tNew test.\n\nReviewed-by: Jonathan Wakely \u003cjwakely@redhat.com\u003e\nSigned-off-by: Tomasz Kamiński \u003ctkaminsk@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "101badff45492578b2623d28b2824086095a9ef0",
      "old_mode": 33188,
      "old_path": "libstdc++-v3/include/bits/alloc_traits.h",
      "new_id": "c113f798690d360d2853705608501d2c98117d08",
      "new_mode": 33188,
      "new_path": "libstdc++-v3/include/bits/alloc_traits.h"
    },
    {
      "type": "modify",
      "old_id": "a9db58b76a342aba7b48675453b4a5a796c14961",
      "old_mode": 33188,
      "old_path": "libstdc++-v3/include/bits/memory_resource.h",
      "new_id": "801184c1bbc63ea360ae2b045e5c77643624948a",
      "new_mode": 33188,
      "new_path": "libstdc++-v3/include/bits/memory_resource.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1a46d8793f0a0bad294b2f9c662aa78078eef2e6",
      "new_mode": 33188,
      "new_path": "libstdc++-v3/testsuite/20_util/allocator_traits/requirements/specializations_neg.cc"
    }
  ]
}
