[libcxx-commits] [PATCH] D96523: [libc++] Rewrite the tuple constructors to be strictly Standards conforming

Louis Dionne via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Wed Apr 7 10:23:32 PDT 2021


ldionne marked 2 inline comments as done.
ldionne added a comment.

In D96523#2674393 <https://reviews.llvm.org/D96523#2674393>, @EricWF wrote:

> There's another bug with SFINAE depth increases that's blowing up at Google.
> I suspect we can get that back.

Can you post a reproducer? I'll be happy to fix it.



================
Comment at: libcxx/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/test_lazy_sfinae.pass.cpp:39
-template <class AllowT, class AssertT>
-struct AllowAssertT {
-  AllowAssertT() = default;
----------------
That class was never used AFAICT.


================
Comment at: libcxx/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/test_lazy_sfinae.pass.cpp:57-66
-void test_tuple_like_lazy_sfinae() {
-#if defined(_LIBCPP_VERSION)
-    // This test requires libc++'s reduced arity initialization.
-    using T1 = ConstructibleFromT<std::pair<int, int>>;
-    using T2 = CtorAssertsT<int>;
-    std::pair<int, int> p(42, 100);
-    std::tuple<T1, T2> t(p);
----------------
This test requires libc++'s reduced arity initialization, as the comment says. That extension was removed.


================
Comment at: libcxx/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/tuple_array_template_depth.pass.cpp:1
-//===----------------------------------------------------------------------===//
-//
----------------
EricWF wrote:
> Why was this file deleted?
Because the extension that allows constructing a tuple from an array was removed (as noted in the release notes).


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D96523



More information about the libcxx-commits mailing list