[all-commits] [llvm/llvm-project] b97931: [libc++] Remove allocator support from std::functi...

Nikolas Klauser via All-commits all-commits at lists.llvm.org
Thu Jun 12 05:21:50 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b9793118423f928b8dcda933aa581f3904ae2b68
      https://github.com/llvm/llvm-project/commit/b9793118423f928b8dcda933aa581f3904ae2b68
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-06-12 (Thu, 12 Jun 2025)

  Changed paths:
    M libcxx/docs/ReleaseNotes/21.rst
    M libcxx/include/__functional/function.h

  Log Message:
  -----------
  [libc++] Remove allocator support from std::function (#140395)

The allocator support was removed in P0302R1, since it was impossible to
implement. We're currently providing the API for this, but ignore the
allocator in all cases but one (which is almost certainly an oversight).
That case is the `function(allocator_arg_t, const Alloc&, Func)`
constuctor. IMO we should remove the API entirely at a later date, but
this only removes most of the code for now, leaving only the public
functions. This not only simplifies the code quite a bit, but also
results in the constructor being instantiated ~8x faster.

Fixes #133901



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list