[all-commits] [llvm/llvm-project] 31a9a4: [libc++] Implement LWG3528 (`make_from_tuple` can ...

yronglin via All-commits all-commits at lists.llvm.org
Fri Mar 22 05:45:39 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 31a9a4b83720af79110941824abe28fc6ff42355
      https://github.com/llvm/llvm-project/commit/31a9a4b83720af79110941824abe28fc6ff42355
  Author: yronglin <yronglin777 at gmail.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx23Issues.csv
    M libcxx/include/tuple
    M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.apply/make_from_tuple.pass.cpp

  Log Message:
  -----------
  [libc++] Implement LWG3528 (`make_from_tuple` can perform (the equivalent of) a C-style cast) (#85263)

Implement [LWG3528](https://wg21.link/LWG3528).
Based on LWG3528(https://wg21.link/LWG3528) and
http://eel.is/c++draft/description#structure.requirements-9, the
standard allows to impose requirements, we constraint
`std::make_from_tuple` to make `std::make_from_tuple` SFINAE friendly
and also avoid worse diagnostic messages. We still keep the constraints
of `std::__make_from_tuple_impl` so that `std::__make_from_tuple_impl`
will have the same advantages when used alone.

---------

Signed-off-by: yronglin <yronglin777 at gmail.com>



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