https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77288

--- Comment #8 from ville at gcc dot gnu.org ---
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

Reply via email to