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

--- Comment #2 from ville at gcc dot gnu.org ---
Author: ville
Date: Wed Sep 21 16:48:35 2016
New Revision: 240322

URL: https://gcc.gnu.org/viewcvs?rev=240322&root=gcc&view=rev
Log:
        PR libstdc++/77537
        Implement LWG 2729 for pair.
        * include/bits/stl_pair.h (_PCC): New.
        (_ConstructiblePair, _ImplicitlyConvertiblePair):
        Turn into static member functions of _PCC.
        (_MoveConstructiblePair, _ImplicitlyMoveConvertiblePair): Likewise.
        (_PCCP): New.
        (pair(const _T1&, const _T2&)): Adjust.
        (_PCCFP): New.
        (pair(const pair<_U1, _U2>&)): Adjust.
        (pair(_U1&&, const _T2&)): Likewise.
        (pair(const _T1&, _U2&&)): Likewise.
        (pair(_U1&&, _U2&&)): Likewise.
        (pair(pair<_U1, _U2>&&)): Likewise.
        (operator=(const pair&)): Make conditionally deleted.
        (operator=(pair&&)): Make conditionally suppressed.
        (operator=(const pair<_U1, _U2>&)): Constrain.
        (operator=(pair<_U1, _U2>&&): Likewise.
        * include/std/type_traits (__nonesuch): New.
        * testsuite/20_util/pair/traits.cc: New.

Added:
    trunk/libstdc++-v3/testsuite/20_util/pair/traits.cc
Modified:
    trunk/libstdc++-v3/ChangeLog
    trunk/libstdc++-v3/include/bits/stl_pair.h
    trunk/libstdc++-v3/include/std/type_traits

Reply via email to