[all-commits] [llvm/llvm-project] eec040: [libc++] [LWG2993] reference_wrapper<T> conversion...

Quuxplusone via All-commits all-commits at lists.llvm.org
Tue Feb 9 12:52:13 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: eec04092d67b94f47439a9065b6bd4cd60165be2
      https://github.com/llvm/llvm-project/commit/eec04092d67b94f47439a9065b6bd4cd60165be2
  Author: Arthur O'Dwyer <arthur.j.odwyer at gmail.com>
  Date:   2021-02-09 (Tue, 09 Feb 2021)

  Changed paths:
    M libcxx/docs/Cxx2aStatusIssuesStatus.csv
    M libcxx/include/__functional_base
    M libcxx/include/functional
    M libcxx/test/std/utilities/function.objects/refwrap/refwrap.assign/copy_assign.pass.cpp
    A libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/deduct.pass.cpp
    A libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/type_conv_ctor.pass.cpp
    A libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/type_conv_ctor2.pass.cpp
    M libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/type_ctor.pass.cpp

  Log Message:
  -----------
  [libc++] [LWG2993] reference_wrapper<T> conversion from U&&

Implement the resolution of LWG2993. Replace a deleted constructor
with a constructor that SFINAEs away in appropriate circumstances.
Also, now that the constructor is templated, we must have an
explicit deduction guide to make CTAD work.

Some tests have been merged in from Agustín Bergé's D40259.

Differential Revision: https://reviews.llvm.org/D92725




More information about the All-commits mailing list