[libcxx-commits] [PATCH] D103198: [libc++] Add a CI configuration where we test the PSTL integration

Louis Dionne via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Thu May 27 09:08:23 PDT 2021

ldionne added inline comments.

Comment at: libcxx/include/functional:3032-3037
+    constexpr __perfect_forward_impl(__perfect_forward_impl const&) = default;
+    constexpr __perfect_forward_impl(__perfect_forward_impl &&) = default;
-    template<class _Fn = typename tuple_element<0, tuple<_Bound...>>::type,
-             class = _EnableIf<is_move_constructible_v<_Fn>>>
-    constexpr __perfect_forward_impl(__perfect_forward_impl && __other)
-        : __bound_(_VSTD::move(__other.__bound_)) {}
-    template<class... _BoundArgs>
+    template<class... _BoundArgs, class = _EnableIf<
+        is_constructible<tuple<_Bound...>, _BoundArgs&&...>::value
+    >>
cjdb wrote:
> ldionne wrote:
> > This change is necessary for the PSTL tests to succeed.
> > 
> > I am fairly certain that we can reduce that failure sufficiently to show that we actually have a bug in `std::not_fn`. @zoecarver would you be able to take a look since you implemented `__perfect_forward_impl`?
> Do we need to add any tests to account for this change?
Yes, I was asking @zoecarver to look into the failure and add tests for `std::not_fn` and `std::bind_front` based on the findings!

  rG LLVM Github Monorepo



More information about the libcxx-commits mailing list