[PATCH] D55045: Add a version of std::function that includes a few optimizations.

Eric Fiselier via Phabricator reviews at reviews.llvm.org
Mon Dec 3 10:55:06 PST 2018

EricWF added a comment.

In D55045#1315603 <https://reviews.llvm.org/D55045#1315603>, @kristina wrote:

> I don't see the issue with breaking ABI that's designated as unstable as long as there's some form of announcement to avoid any confusion. Fundamentally that's the entire point of having unstable ABI versions, some changes are just not really possible to make without ABI breakages, most consumers just use the stable ABI, while unstable ABI is not backwards compatible otherwise it would make a whole range of changes to `libc++` and/or Clang impossible.

I don't see a problem breaking the unstable ABI either. But we don't normally standardize ABI breaking changes. I think this means we should only ever have at most 2 versions of `std::function`. One for the stable ABI and  potentially an improved version for the unstable ABI.

@jsoyke, I spoke to the other maintainers, and it's cool if we entirely ignore the allocators. So feel free to use that to squeeze out w/e benefits you can.

Otherwise, this is looking pretty good to me. Thanks for all the hard work.

Comment at: include/functional:1761
+        return __f->__clone();
+    };
Extra `;`. 

  rCXX libc++



More information about the libcxx-commits mailing list