EricWF added inline comments.
================ Comment at: include/__tuple:32 template <class _Tp> -class _LIBCPP_TYPE_VIS_ONLY tuple_size<const _Tp> - : public __tuple_size_base_type<_Tp>::type {}; +class _LIBCPP_TYPE_VIS_ONLY tuple_size<__enable_if_tuple_size_imp<const _Tp, decltype(tuple_size<typename remove_cv<_Tp>::type>::value)>> + : public integral_constant<size_t, tuple_size<_Tp>::value> {}; ---------------- rsmith wrote: > remove_cv looks redundant here, deduction already stripped the cv qualifiers. The `remove_cv` should be redundant, but without it Clang segfaults in `clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformTemplateSpecializationType(clang::TypeLocBuilder&, clang::TemplateSpecializationTypeLoc, clang::TemplateName)`. I haven't had time to file a Clang bug yet. https://reviews.llvm.org/D28222 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits