On 12/05/17 21:33 +0300, Ville Voutilainen wrote:
   libstdc++-v3/

   Implement new C++ intrinsics __is_assignable and __is_constructible.
   * include/std/type_traits (__do_is_static_castable_impl): Remove.
   (__is_static_castable_impl, __is_static_castable_safe): Likewise.
   (__is_static_castable, __do_is_direct_constructible_impl): Likewise.
   (__is_direct_constructible_impl): Likewise.
   (__is_direct_constructible_new_safe): Likewise.
   (__is_base_to_derived_ref, __is_lvalue_to_rvalue_ref): Likewise.
   (__is_direct_constructible_ref_cast): Likewise.
   (__is_direct_constructible_new, __is_direct_constructible): Likewise.
   (__do_is_nary_constructible_impl): Likewise.
   (__is_nary_constructible_impl, __is_nary_constructible): Likewise.
   (__is_constructible_impl): Likewise.
   (is_constructible): Call the intrinsic.
   (__is_assignable_helper): Remove.
   (is_assignable): Call the intrinsic.
   (is_trivially_constructible): Likewise.
   (is_trivially_assignable): Likewise.
   (testsuite/20_util/declval/requirements/1_neg.cc): Adjust.
   (testsuite/20_util/make_signed/requirements/typedefs_neg.cc): Likewise.
   (testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc):
   Likewise.

The libstdc++ parts make me happy. I have fairly high confidence in
our tests for is_constructible and is_assignable (thanks, Daniel!) so
would be happy to approve the library parts.

I'll try the patch against the libc++ testsuite too.


Reply via email to