[libcxx-commits] [PATCH] D66262: Constrain tuple/unique_ptr move constructors (2899)

Zoe Carver via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Wed Aug 14 17:09:13 PDT 2019


zoecarver created this revision.
zoecarver added reviewers: ldionne, mclow.lists, EricWF.
Herald added subscribers: libcxx-commits, dexonsmith, christof.

This patch disables `unique_ptr& operator=(unique_ptr&&)`, `unique_ptr(unique_ptr&&)`, and `tuple(tuple&&)` unless `is_move_constructible_v ` is true. This patch resolves LWG issue 2899 <https://cplusplus.github.io/LWG/issue2899>.


Repository:
  rCXX libc++

https://reviews.llvm.org/D66262

Files:
  libcxx/include/memory
  libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.asgn/move.pass.cpp
  libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.asgn/move_convert.runtime.pass.cpp
  libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.asgn/move_convert.single.pass.cpp
  libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.ctor/move.pass.cpp
  libcxx/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/move.pass.cpp
  libcxx/test/support/deleter_types.h
  libcxx/www/cxx2a_status.html

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D66262.215286.patch
Type: text/x-patch
Size: 11716 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20190815/2cad6563/attachment.bin>


More information about the libcxx-commits mailing list