This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [v3 PATCH] nonesuch is insufficiently useless (lwg2996)


On 14/05/19 15:43 +0100, Nina Dinka Ranns wrote:
Tested on Linux x86_64
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

Thanks!

Tested and committed, again with some changelog edits, and some whitespace
before the opening braces here ...

@@ -2769,8 +2769,8 @@
             __call_is_nothrow_<_Fn, _Args...>>::type
    { };

-  struct __nonesuch {
-    __nonesuch() = delete;
+  struct __nonesuchbase{};
+  struct __nonesuch : private __nonesuchbase{



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]