[PATCH] D32385: [libcxx] Implement LWG 2900 "The copy and move constructors of optional are not constexpr"

Casey Carter via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Apr 21 16:19:39 PDT 2017


CaseyCarter created this revision.

.. by injecting base classes that differentiate between trivial/non-trivial implementation of each copy/move constructor/assignment. This actually goes a bit beyond the PR by also making the copy/move assignment operators trivial when the base type has corresponding trivial construction and assignment.


https://reviews.llvm.org/D32385

Files:
  include/optional
  test/std/utilities/optional/optional.object/optional.object.ctor/copy.pass.cpp
  test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D32385.96262.patch
Type: text/x-patch
Size: 8038 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170421/018f6861/attachment-0001.bin>


More information about the cfe-commits mailing list