On 10/06/17 04:38 +0300, Ville Voutilainen wrote:
-      static void __check(...);
+  template<typename _Tp>
+    struct __is_convertible_to_basic_istream
+    : __is_convertible_to_basic_istream_impl<_Tp>
+    {
    public:
-      using istream_type =
-       decltype(__check(declval<typename remove_reference<_Tp>::type*>()));
-      using type = __not_<is_same<istream_type, void>>;
+      using type = __not_<is_same<void,
+        typename __is_convertible_to_basic_istream_impl<_Tp>::__istream_type>>;

This could use is_void<...> instead of is_same<void, ...>, same below.

Otherwise OK for trunk, thanks for dealing with this.

80940 is a regression, so we need this on gcc-7-branch too, assuming
it passes testing there.




Reply via email to