This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [v3 PATCH] PR libstdc++/77288 and the newest proposed resolution for LWG 2756


On 06/09/16 09:00 +0300, Ville Voutilainen wrote:
   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.

OK for trunk, thanks.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]