[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
Tue Apr 25 16:13:19 PDT 2017


CaseyCarter updated this revision to Diff 96644.
CaseyCarter added a comment.

Assigning an empty optional to a non-empty optional needs to destroy the contained value, so we need to also require `is_trivially_destructible` to implement trivial assignments.


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.96644.patch
Type: text/x-patch
Size: 8140 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170425/2f67bdd4/attachment.bin>


More information about the cfe-commits mailing list