Landing: 2ba702c966e3

Project / Subsystem

gcc / libstdc++

Date

2026-04-01

Author

Jonathan Wakely

Commit

2ba702c966e3772d3d4e29e4b25beb7ef4dabf73

Source

github

Perf win

No

Breaking

No

All attributes

project
gcc
subsystem
libstdc++
patch_id
commit_hash
2ba702c966e3772d3d4e29e4b25beb7ef4dabf73
source_type
github
headline
libstdc++: Restore allocator constructor for std::packaged_task.
tldr
Restores the allocator constructor for `std::packaged_task` and removes incorrect allocator-related specializations from `std::promise`.
author
Jonathan Wakely
outcome
committed
performance_win
false
breaking_change
false
series_id
series_parts
[]
tags
  • libstdc++
  • allocator
  • packaged_task
  • promise
discussion_id_link
bugzilla_pr
date
2026-04-01T00:00:00.000Z

This commit restores the allocator constructor for std::packaged_task that was previously removed, aligning with the approved P3503R3 proposal. It also removes allocator-extended constructors of std::promise and std::packaged_task that were added preemptively but are not part of the standard. Additionally, it removes the std::uses_allocator partial specializations for std::promise and std::packaged_task, ensuring consistency across C++ standard versions from C++11 onwards.