Summary:
[Folly] Simplify `type_t` by lifting the type to be aliased into the structure template parameter list.
May also fix curious build failures in some compilers.
Reviewed By: akrieger
Differential Revision:
D6188953
fbshipit-source-id:
96e1c3af9c11959c0899c092933158922efa7e60
*/
namespace traits_detail {
*/
namespace traits_detail {
+template <class T, class...>
- template <class T>
- using apply = T;
};
} // namespace traits_detail
template <class T, class... Ts>
};
} // namespace traits_detail
template <class T, class... Ts>
-using type_t = typename traits_detail::type_t_<Ts...>::template apply<T>;
+using type_t = typename traits_detail::type_t_<T, Ts...>::type;
template <class... Ts>
using void_t = type_t<void, Ts...>;
template <class... Ts>
using void_t = type_t<void, Ts...>;