[PATCH] g++, libstdc++: implement __is_nothrow_{constructible, assignable}

Jonathan Wakely jwakely@redhat.com
Mon Oct 26 12:22:29 GMT 2020


On 24/10/20 02:32 +0300, Ville Voutilainen via Libstdc++ wrote:
>@@ -1118,15 +1080,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
>     };
> 
>   template<typename _Tp, typename _Up>
>-    struct __is_nt_assignable_impl
>-    : public integral_constant<bool, noexcept(declval<_Tp>() = declval<_Up>())>
>-    { };
>-
>-  template<typename _Tp, typename _Up>
>-    struct __is_nothrow_assignable_impl
>-    : public __and_<__bool_constant<__is_assignable(_Tp, _Up)>,
>-		    __is_nt_assignable_impl<_Tp, _Up>>
>-    { };
>+    using __is_nothrow_assignable_impl
>+    = __bool_constant<__is_nothrow_assignable(_Tp, _Up)>;

Please indent the "= __bool_constant<...>;" line two more spaces,
rather than lining it up with the "using".

The library changes are OK with that tweak. Thanks!



More information about the Gcc-patches mailing list