[cfe-commits] [libcxx] r167233 - /libcxx/trunk/include/type_traits

Howard Hinnant hhinnant at apple.com
Thu Nov 1 09:32:14 PDT 2012


Author: hhinnant
Date: Thu Nov  1 11:32:14 2012
New Revision: 167233

URL: http://llvm.org/viewvc/llvm-project?rev=167233&view=rev
Log:
Richard Smith:  This fixes a problem in std::is_constructible for incomplete types, and those types with a user-defined operator,().

Modified:
    libcxx/trunk/include/type_traits

Modified: libcxx/trunk/include/type_traits
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/type_traits?rev=167233&r1=167232&r2=167233&view=diff
==============================================================================
--- libcxx/trunk/include/type_traits (original)
+++ libcxx/trunk/include/type_traits Thu Nov  1 11:32:14 2012
@@ -1771,8 +1771,10 @@
 
 //      main is_constructible test
 
+template<typename, typename T> struct __select_2nd { typedef T type; };
+
 template <class _Tp, class ..._Args>
-decltype(_VSTD::move(_Tp(_VSTD::declval<_Args>()...)), true_type())
+typename __select_2nd<decltype(_VSTD::move(_Tp(_VSTD::declval<_Args>()...))), true_type>::type
 __is_constructible_test(_Tp&&, _Args&& ...);
 
 template <class ..._Args>





More information about the cfe-commits mailing list