nonesuch is insufficiently useless (lwg2996)
authorNina Dinka Ranns <dinka.ranns@gmail.com>
Tue, 14 May 2019 15:48:27 +0000 (15:48 +0000)
committerJonathan Wakely <redi@gcc.gnu.org>
Tue, 14 May 2019 15:48:27 +0000 (16:48 +0100)
commita73d2fa852c5104c458f2877a0fc361ab8507660
tree3c15fd80d60e9927584b4d66b66cb9d67f9275f7
parent330b17474c618af0574c0b8e83a06287e53afe87
nonesuch is insufficiently useless (lwg2996)

2019-05-14  Nina Dinka Ranns  <dinka.ranns@gmail.com>

nonesuch is insufficiently useless (lwg2996)
* include/std/type_traits (struct __nonesuch): Added private base
class to make __nonesuch not an aggregate and removed deleted default
constructor.
* include/bits/stl_pair.h (struct __nonesuch_no_braces): Removed.
(operator=(const pair&)): Use __nonesuch instead of
__nonesuch_no_braces.
(operator=(pair&&)): Likewise
* include/std/tuple (operator=(const tuple&)): Use __nonesuch instead
of __nonesuch_no_braces.
(operator=(tuple&&)): Likewise
* include/experimental/type_traits (struct nonesuch): Added private
base class to make nonesuch not an aggregate and removed deleted
default constructor.
* testsuite/20_util/nonesuch/nonesuch.cc: New.
* testsuite/experimental/type_traits/nonesuch.cc: New.

From-SVN: r271175
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/stl_pair.h
libstdc++-v3/include/experimental/type_traits
libstdc++-v3/include/std/tuple
libstdc++-v3/include/std/type_traits
libstdc++-v3/testsuite/20_util/nonesuch/nonesuch.cc [new file with mode: 0644]
libstdc++-v3/testsuite/experimental/type_traits/nonesuch.cc [new file with mode: 0644]