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

--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Author: redi
Date: Fri Jan 20 02:36:16 2017
New Revision: 244680

URL: https://gcc.gnu.org/viewcvs?rev=244680&root=gcc&view=rev
Log:
PR72792 PR72793 relax requirements on rebind members

        PR libstdc++/72792
        PR libstdc++/72793
        * include/bits/alloc_traits.h (__allocator_traits_base::__rebind):
        Replace with class template using void_t.
        (__alloc_rebind): Define in terms of
        __allocator_traits_base::__rebind.
        (allocator_traits): Remove unconditional static_assert for
        rebind_alloc.
        * include/bits/ptr_traits.h (__replace_first_arg): Remove type member.
        (pointer_traits::__rebind): Replace with class template using void_t.
        (pointer_traits::rebind): Define in terms of __rebind.
        (pointer_traits): Remove unconditional static_assert for rebind.
        * testsuite/20_util/allocator_traits/members/rebind_alloc.cc: New test.
        * testsuite/20_util/pointer_traits/rebind.cc: New test.

Added:
   
trunk/libstdc++-v3/testsuite/20_util/allocator_traits/members/rebind_alloc.cc
    trunk/libstdc++-v3/testsuite/20_util/pointer_traits/rebind.cc
Modified:
    trunk/libstdc++-v3/ChangeLog
    trunk/libstdc++-v3/include/bits/alloc_traits.h
    trunk/libstdc++-v3/include/bits/ptr_traits.h

Reply via email to