https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72792
--- 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