libstdc++: Fix uses_allocator_construction_args for pair<T&&, U&&> [PR108952]
authorJonathan Wakely <jwakely@redhat.com>
Mon, 27 Feb 2023 22:34:57 +0000 (22:34 +0000)
committerJonathan Wakely <jwakely@redhat.com>
Tue, 28 Feb 2023 09:49:11 +0000 (09:49 +0000)
commit8e342c04550466ab088c33746091ce7f3498ee44
tree45266e22922348c83bacc43659c36abb3f4f3361
parent822a11a1e642e0abe92a996e7033a5066905a447
libstdc++: Fix uses_allocator_construction_args for pair<T&&, U&&> [PR108952]

This implements LWG 3527 which fixes the handling of pair<T&&, U&&> in
std::uses_allocator_construction_args.

libstdc++-v3/ChangeLog:

PR libstdc++/108952
* include/bits/uses_allocator_args.h
(uses_allocator_construction_args): Implement LWG 3527.
* testsuite/20_util/pair/astuple/get-2.cc: New test.
* testsuite/20_util/scoped_allocator/108952.cc: New test.
* testsuite/20_util/uses_allocator/lwg3527.cc: New test.
libstdc++-v3/include/bits/uses_allocator_args.h
libstdc++-v3/testsuite/20_util/pair/astuple/get-2.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/scoped_allocator/108952.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/uses_allocator/lwg3527.cc [new file with mode: 0644]