This is the mail archive of the
libstdc++-cvs@gcc.gnu.org
mailing list for the libstdc++ project.
r240324 - in /trunk/libstdc++-v3: ChangeLog inc...
- From: ville at gcc dot gnu dot org
- To: libstdc++-cvs at gcc dot gnu dot org
- Date: Wed, 21 Sep 2016 17:37:17 -0000
- Subject: r240324 - in /trunk/libstdc++-v3: ChangeLog inc...
Author: ville
Date: Wed Sep 21 17:37:17 2016
New Revision: 240324
URL: https://gcc.gnu.org/viewcvs?rev=240324&root=gcc&view=rev
Log:
PR libstdc++/77288
* include/std/optional (__is_optional_impl, __is_optional): Remove.
(__converts_from_optional, __assigns_from_optional): New.
(optional(_Up&&)): Use is_same instead of __is_optional.
(optional(const optional<_Up>&)): Constrain with
__converts_from_optional.
(optional(optional<_Up>&&)): Likewise.
(operator=(_Up&&)): Use is_same instead of __is_optional, check
is_same and is_scalar.
(operator=(const optional<_Up>&)): Constrain with
__converts_from_optional and __assigns_from_optional.
(operator=(optional<_Up>&&)): Likewise.
* testsuite/20_util/optional/77288.cc: New.
* testsuite/20_util/optional/cons/value.cc: Adjust.
Added:
trunk/libstdc++-v3/testsuite/20_util/optional/77288.cc
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/std/optional
trunk/libstdc++-v3/testsuite/20_util/optional/cons/value.cc