Displaying 4 results from an estimated 4 matches for "__select_2nd".
2012 Sep 29
2
[LLVMdev] Clang bug?
...ere's a fix (first change: avoid overloaded
'operator,', second change: avoid ADL for __is_assignable_test):
--- type_traits (revision 164877)
+++ type_traits (working copy)
@@ -1187,10 +1187,15 @@
#endif // _LIBCPP_HAS_NO_VARIADICS
+template <class _Fst, class _Snd>
+struct __select_2nd {
+ typedef _Snd type;
+};
+
// is_assignable
template <class _Tp, class _Arg>
-decltype((_VSTD::declval<_Tp>() = _VSTD::declval<_Arg>(), true_type()))
+typename __select_2nd<decltype(_VSTD::declval<_Tp>() =
_VSTD::declval<_Arg>()), true_type>::type
#ifndef...
2012 Sep 29
0
[LLVMdev] Clang bug?
...;operator,', second change: avoid ADL for __is_assignable_test):
>
>
> --- type_traits (revision 164877)
> +++ type_traits (working copy)
> @@ -1187,10 +1187,15 @@
>
> #endif // _LIBCPP_HAS_NO_VARIADICS
>
> +template <class _Fst, class _Snd>
> +struct __select_2nd {
> + typedef _Snd type;
> +};
> +
> // is_assignable
>
> template <class _Tp, class _Arg>
> -decltype((_VSTD::declval<_Tp>() = _VSTD::declval<_Arg>(), true_type()))
> +typename __select_2nd<decltype(_VSTD::declval<_Tp>() = _VSTD::declval<_...
2012 Sep 29
0
[LLVMdev] Clang bug?
On Sep 28, 2012, at 5:54 PM, Richard Smith <richard at metafoo.co.uk> wrote:
> Reduced testcase:
>
> template<typename T> struct A { typedef decltype(T() + 0) type; };
> template<typename T> struct B {
> struct C { typedef typename A<C*>::type type; };
> typedef typename A<C*>::type type;
> };
> B<int> b;
>
> ... produces ...
2012 Sep 28
4
[LLVMdev] Clang bug?
Reduced testcase:
template<typename T> struct A { typedef decltype(T() + 0) type; };
template<typename T> struct B {
struct C { typedef typename A<C*>::type type; };
typedef typename A<C*>::type type;
};
B<int> b;
... produces ...
<stdin>:3:38: error: no type named 'type' in 'A<B<int>::C *>'
struct C { typedef typename