LWG 2975 ensure construct(pair<T,U>*, ...) used to construct pairs
commit5d64596c5a2dc7abaf4351b97e5d982c532399b6
authorredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 18 Jun 2018 20:17:44 +0000 (18 20:17 +0000)
committerredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 18 Jun 2018 20:17:44 +0000 (18 20:17 +0000)
treeab76f552250e0e08a3463e2120eee14ecf0fd391
parent6b63fbbee5b53d13b08e26aa9af730d91ac38cf2
LWG 2975 ensure construct(pair<T,U>*, ...) used to construct pairs

* include/std/scoped_allocator (__not_pair): Define SFINAE helper.
(construct(_Tp*, _Args&&...)): Remove from overload set when _Tp is
a specialization of std::pair.
* testsuite/20_util/scoped_allocator/construct_pair.cc: Ensure
pair elements are constructed correctly.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261716 138bc75d-0d04-0410-961f-82ee72b054a4
libstdc++-v3/ChangeLog
libstdc++-v3/include/std/scoped_allocator
libstdc++-v3/testsuite/20_util/scoped_allocator/construct_pair.cc