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.ra...@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{


Reply via email to