2014-12-18 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/59204
* g++.dg/cpp0x/sfinae53.C: New.
From-SVN: r218878
+2014-12-18 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/59204
+ * g++.dg/cpp0x/sfinae53.C: New.
+
2014-12-18 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/64291
--- /dev/null
+// PR c++/59204
+// { dg-do compile { target c++11 } }
+
+template< class T >
+ using void_t = void;
+
+template< class T, class = void >
+ struct has_type
+{ constexpr static bool value = false; };
+
+template< class T >
+ struct has_type<T, void_t<typename T::type>>
+{ constexpr static bool value = true; };
+
+struct yes { using type = int; };
+struct no { };
+
+int
+main( )
+{
+ static_assert( has_type<yes>::value, "false negative!" );
+ static_assert( not has_type<no >::value, "false positive!" );
+}