[libcxx-commits] [PATCH] D116570: [libc++] Eliminate the `__function_like` helper.

Louis Dionne via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Thu Jan 20 10:18:27 PST 2022


ldionne accepted this revision.
ldionne added a comment.
This revision is now accepted and ready to land.

Just to give an update on what happened with the LWG thread Arthur created, basically LWG said "write a paper for LEWG". I think it makes sense to ask that, since that is indeed a design change.

Therefore, what I am suggesting we do here is make this change and write a paper saying basically that libc++ and libstdc++ already do it, and MSVC is trying to reduce the API surface (like libc++ prior to this change). However, given that the proposed behavior is both simpler for all implementations AND also more useful for users (since they can use these niebloids in higher order functions and so on), AND it would resolve implementation divergence, it seems like really a good change to make, so I'd be surprised to see LEWG reject it.

In other words, I'm fine with this change not because it makes us less strict (I dislike that part), but because I'm confident that it's going to be what the Standard mandates once we've made this change and can point at libc++ and libstdc++ as having made that decision already.



================
Comment at: libcxx/test/std/library/description/conventions/customization.point.object/niebloid.compile.pass.cpp:16
+
+#include <algorithm>
+#include <iterator>
----------------
Missing `#include <type_traits>`.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D116570/new/

https://reviews.llvm.org/D116570



More information about the libcxx-commits mailing list